aboutsummaryrefslogtreecommitdiff
path: root/Doom/.config/doom/modules/private/mail
diff options
context:
space:
mode:
authordx <aryadevchavali1@gmail.com>2020-07-20 21:15:35 +0100
committerdx <aryadevchavali1@gmail.com>2020-07-20 21:15:35 +0100
commit9e9435c00c06ea4bf989da9fa362060d401df648 (patch)
tree1360fba1c222541eceea80f42017e54b3fdab909 /Doom/.config/doom/modules/private/mail
parent9930e9ef4f40859e47c770ff4146d53883140de4 (diff)
downloaddotfiles-9e9435c00c06ea4bf989da9fa362060d401df648.tar.gz
dotfiles-9e9435c00c06ea4bf989da9fa362060d401df648.tar.bz2
dotfiles-9e9435c00c06ea4bf989da9fa362060d401df648.zip
+my own mail config
Using authinfo.gpg, notmuch and offlineimap to manage my mail. I now have my own server @ aryadevchavali.com, so I setup a mail server hosted on mail.aryadevchavali.com. This config manages the emacs side of things, I'll add my offlineimaprc later
Diffstat (limited to 'Doom/.config/doom/modules/private/mail')
-rw-r--r--Doom/.config/doom/modules/private/mail/autoload.el19
-rw-r--r--Doom/.config/doom/modules/private/mail/config.el33
-rw-r--r--Doom/.config/doom/modules/private/mail/packages.el4
3 files changed, 56 insertions, 0 deletions
diff --git a/Doom/.config/doom/modules/private/mail/autoload.el b/Doom/.config/doom/modules/private/mail/autoload.el
new file mode 100644
index 0000000..13a79f9
--- /dev/null
+++ b/Doom/.config/doom/modules/private/mail/autoload.el
@@ -0,0 +1,19 @@
+;;; private/mail/autoload.el -*- lexical-binding: t; -*-
+
+;;;###autoload
+(defun +mail/open-mail ()
+ "Activate (or switch to) `notmuch' in its workspace."
+ (interactive)
+ (unless (featurep! :ui workspaces)
+ (user-error ":ui workspaces is required, but disabled"))
+ (condition-case-unless-debug e
+ (progn
+ (+workspace-switch "*MAIL*" t)
+ (if-let* ((buf (cl-find-if (lambda (it) (string-match-p "^\\*notmuch" (buffer-name (window-buffer it))))
+ (doom-visible-windows))))
+ (select-window (get-buffer-window buf))
+ (notmuch-search "tag:inbox"))
+ (+workspace/display))
+ ('error
+ (+notmuch/quit)
+ (signal (car e) (cdr e)))))
diff --git a/Doom/.config/doom/modules/private/mail/config.el b/Doom/.config/doom/modules/private/mail/config.el
new file mode 100644
index 0000000..25c9102
--- /dev/null
+++ b/Doom/.config/doom/modules/private/mail/config.el
@@ -0,0 +1,33 @@
+;;; private/mail/config.el -*- lexical-binding: t; -*-
+(defconst +mail/signature
+ "---------------
+Aryadev Chavali")
+
+(use-package notmuch
+ :commands notmuch
+ :config
+ (setq notmuch-show-logo nil
+ message-signature +mail/signature
+ mail-signature +mail/signature)
+
+ (defun +mail/sync-mail()
+ (interactive)
+ (start-process "imap-call" "*offlineimap*" "offlineimap" '("-oq")))
+
+ (map!
+ (:leader
+ "om" #'+mail/open-mail)
+ :map (notmuch-hello-mode-map notmuch-tree-mode-map notmuch-show-mode-map)
+ "u" #'notmuch-poll-and-refresh-this-buffer
+ "gS" #'+mail/sync-mail))
+
+(use-package smtpmail
+ :commands mail-send
+ :after notmuch
+ :init
+ (setq smtpmail-smtp-server "mail.aryadevchavali.com"
+ send-mail-function 'smtpmail-send-it
+ message-send-mail-function 'smtpmail-send-it
+ smtpmail-smtp-user "aryadev"
+ smtpmail-smtp-service 587
+ smtpmail-stream-type 'starttls))
diff --git a/Doom/.config/doom/modules/private/mail/packages.el b/Doom/.config/doom/modules/private/mail/packages.el
new file mode 100644
index 0000000..e084e30
--- /dev/null
+++ b/Doom/.config/doom/modules/private/mail/packages.el
@@ -0,0 +1,4 @@
+;; -*- no-byte-compile: t; -*-
+;;; private/mail/packages.el
+
+(package! notmuch)