123 lines
4.3 KiB
EmacsLisp
123 lines
4.3 KiB
EmacsLisp
;;; bundle--email
|
|
(setq mml-default-sign-method "pgpmime"
|
|
mml-default-encrypt-method "pgpmime"
|
|
mml-secure-openpgp-sign-with-sender t
|
|
mail-user-agent 'message-user-agent
|
|
compose-mail-user-agent-warnings nil)
|
|
|
|
(defun mk/sign-email ()
|
|
;; Sign an Email using the key of the sender.
|
|
(interactive)
|
|
(mml-secure-message-sign-pgpmime))
|
|
|
|
(defun mk/encrypt-email ()
|
|
;; Encrypt an Email using the key of the recipient.
|
|
(interactive)
|
|
(mml-secure-message-encrypt-pgpmime))
|
|
|
|
(defvar mk/gps-location
|
|
(eval '(let ((float-output-format "%.1f"))
|
|
(format "%s%s, %s%s"
|
|
(if (numberp calendar-latitude)
|
|
(abs calendar-latitude)
|
|
(+ (aref calendar-latitude 0)
|
|
(/ (aref calendar-latitude 1) 60.0)))
|
|
(if (numberp calendar-latitude)
|
|
(if (> calendar-latitude 0) "N" "S")
|
|
(if (eq (aref calendar-latitude 2) 'north) "N" "S"))
|
|
(if (numberp calendar-longitude)
|
|
(abs calendar-longitude)
|
|
(+ (aref calendar-longitude 0)
|
|
(/ (aref calendar-longitude 1) 60.0)))
|
|
(if (numberp calendar-longitude)
|
|
(if (> calendar-longitude 0) "E" "W")
|
|
(if (eq (aref calendar-longitude 2) 'east) "E" "W"))))))
|
|
|
|
(defvar mk/signature-name
|
|
(concat "Cheers, "
|
|
user-full-name
|
|
" ("
|
|
calendar-location-name
|
|
", "
|
|
mk/gps-location
|
|
")\n"))
|
|
|
|
(defvar mk/signature-gpg "GnuPG Key: https://meta.sr.ht/~marcuskammer.pgp\nFingerprint: 86DB 0F30 F9F1 661A 54E2 1664 C374 817B E285 268F")
|
|
|
|
(defun mk/signature-time ()
|
|
(format-time-string "Written on: %a, %d %b %Y %R %z\n"))
|
|
|
|
(defun mk/signature ()
|
|
(concat
|
|
;mk/signature-name
|
|
;(mk/signature-time)
|
|
mk/signature-gpg))
|
|
|
|
(use-package smtpmail
|
|
:custom
|
|
(smtpmail-smtp-server "smtp.mailbox.org")
|
|
(smtpmail-smtp-service 465)
|
|
(smtpmail-stream-type 'ssl)
|
|
(smtpmail-auth-credentials (expand-file-name "~/.authinfo.gpg")))
|
|
|
|
(add-hook 'message-signature-setup-hook (lambda () (setf message-signature (mk/signature))))
|
|
;; (add-hook 'mail-send-hook #'ispell-message)
|
|
;; (add-hook 'message-send-hook #'ispell-message)
|
|
(add-hook 'message-mode-hook 'turn-on-auto-fill)
|
|
|
|
(setq message-directory "~/Maildir")
|
|
(setq message-auto-save-directory "~/Maildir/Drafts")
|
|
(setq message-send-mail-function 'smtpmail-send-it)
|
|
|
|
(use-package gnus
|
|
:custom
|
|
(gnus-use-full-window nil)
|
|
(gnus-summary-line-format "%O%U%R%z%d %B%(%[%4L: %-22,22f%]%) %s\n")
|
|
(gnus-summary-mode-line-format "Gnus: %p [%A / Sc:%4z] %Z")
|
|
(gnus-summary-same-subject "")
|
|
(gnus-summary-make-false-root 'adopt)
|
|
(gnus-summary-make-false-root-always nil)
|
|
(gnus-sum-thread-tree-indent " ")
|
|
(gnus-sum-thread-tree-root "* ")
|
|
(gnus-sum-thread-tree-false-root "")
|
|
(gnus-sum-thread-tree-single-indent "")
|
|
(gnus-sum-thread-tree-leaf-with-other "+-+> ")
|
|
(gnus-sum-thread-tree-vertical "|")
|
|
(gnus-sum-thread-tree-single-leaf "=--> ")
|
|
(gnus-thread-sort-functions '(gnus-thread-sort-by-subject gnus-thread-sort-by-most-recent-date))
|
|
(gnus-large-newsgroup nil)
|
|
(gnus-inhibit-startup-message t)
|
|
(gnus-check-new-newsgroups nil)
|
|
(gnus-select-method '(nnnil ""))
|
|
(gnus-secondary-select-methods
|
|
'((nntp "news.individual.de"
|
|
(nntp-open-connection-function nntp-open-ssl-stream)
|
|
(nntp-port-number 563)
|
|
(nntp-authinfo-file "~/.authinfo.gpg"))
|
|
(nnimap "mailbox"
|
|
(nnimap-address "imap.mailbox.org")
|
|
(nnimap-inbox "INBOX")
|
|
(nnimap-server-port 993)
|
|
(nnimap-stream ssl)
|
|
(nnimap-authinfo-file "~/.authinfo.gpg"))))
|
|
:config
|
|
(add-hook 'gnus-summary-prepare-hook 'gnus-summary-sort-by-most-recent-date))
|
|
|
|
(when (eq system-type 'gnu/linux)
|
|
(let ((mu4e-dir (expand-file-name "/usr/share/emacs/site-lisp/mu4e/")))
|
|
(when (file-directory-p mu4e-dir)
|
|
(add-to-list 'load-path mu4e-dir)
|
|
(use-package mu4e
|
|
:ensure nil
|
|
:hook (mu4e-compose-pre . (lambda () (setf mu4e-compose-signature (mk/signature))))
|
|
:custom
|
|
(mu4e-confirm-quit nil)
|
|
(mu4e-change-filenames-when-moving t)
|
|
(mu4e-drafts-folder "/Drafts")
|
|
(mu4e-get-mail-command "mbsync -a")
|
|
(mu4e-headers-date-format "%Y-%m-%d %H:%M")
|
|
(mu4e-refile-folder "/Archive")
|
|
(mu4e-sent-folder "/Sent")
|
|
(mu4e-trash-folder "/Trash")
|
|
(mu4e-split-view 'horizontal)
|
|
(mu4e-update-interval (* 10 60))))))
|