+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
This commit is contained in:
dx
2020-07-20 21:15:35 +01:00
parent 9930e9ef4f
commit 9e9435c00c
4 changed files with 57 additions and 0 deletions

View File

@@ -183,6 +183,7 @@
;;bindings
gentemplate
narrow
mail
;;completion
;; (ocaml +lsp)
;; (rss +elfeed)

View File

@@ -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)))))

View File

@@ -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))

View File

@@ -0,0 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; private/mail/packages.el
(package! notmuch)