*Αυτό είναι μια μετάφραση από το άρθρο που έγραψα στην σελιδα μου
Table of Contents
- Γιατί να χρησιμοποιήσεις το emacs για την διαχείριση των email σου?
- Εγκατάσταση και ρυθμίσεις με mbsync
- Συγχρόνισε τα email σου με isync
- Φτιάξε το mailbox
- Εγκατέστησε mu4e με πολλαπλούς λογαριασμούς
Σε αυτό το άρθρο θα σας καθοδηγήσω στο πως να στήσετε το emacs για να διαχειρίζεται τα emails σας με mu4e
and mbsync
Γιατί να χρησιμοποιήσεις emacs για την διαχείριση των email σου?
Το emacs είναι ένα απο το πιο “ισχυρά” και προσαρμόσιμα/πολύπλευρα προγράμματα, έτοιμα να λύσουν οποιοδήποτε πρόβλημα αντιμετωπίζεις. Η χρήση του mu4e
με emacs
προσφέρει μια απρόσκοπτη ενσωμάτωση της διαχείρισής των email σου με τον τρόπο εργασίας σου, προσφέροντας με εύκολη, αποτελεσματική, βασισμένη στο πληκτρολόγιο λύση στην διαχείριση των μηνυμάτων σου, με το mu4e
ως front-end για το mu
, έχεις στην διάθεση ένα από τα πιο δυνατά εργαλεία για αναζήτηση και φιλτραρίσματα, κάνοντας την διαχείριση των μηνυμάτων από χρονοβόρο μαρτύριο σε απλά keyboard-macros
Επίσης σου προσφέρει την δυνατότητα να αποθηκεύεις τα email σου στο μηχάνημα σου, δίνοντας σου πρόσβαση ακόμα και όταν είσαι offline.
Εγκατάσταση και ρυθμίσεις με mbsync
Πρώτα από όλα, θα εγκαταστήσουμε το isync
στην πράξη είναι mbsync
guix install isync #in guix
sudo apt install isync #in debian-based distros
Συγχρόνισε τα email σου με isync
Φτιάξε έναν αρχείο και ονόμασε το .mbsyncrc
και πρόσθεσε τα παρακάτω:
Για το παράδειγμα κάτω χρησιμοποιούμαι gmail
IMAPAccount gmail
Host imap.gmail.com # feel free to change it to your desired client, e.g imap.fastmail.com
User youremail@address.com # Change wit your email
# This is not a secure way to store your password
# But we will use it for the sake of simplicity of this guide
PassCmd "cat ~/.gmail-pass" # Add your pass word for 3rd party apps in ~/.gmail-pass *NOT your main pass*
SSLType IMAPS
CertificateFile /etc/ssl/certs/ca-certificates.crt
IMAPStore gmail-remote
Account gmail
# Setting path for your email
MaildirStore gmail-local
Path ~/Mail/Gmail
Inbox ~/Mail/Gmail/Inbox
Trash ~/Mail/Gmail/Trash
SubFolders Verbatim
Channel gmail
Far :gmail-remote:
Near :gmail-local:
Create Both
SyncState *
Εάν ενδιαφέρεστε να χρησιμοποιήσετε πολλαπλές διευθύνσεις ηλεκτρονικού ταχυδρομείου, απλά προσθέστε ένα δεύτερο IMAPAccount
στο ίδιο αρχείο όπως έκαναμε παραπάνω, με διαφορετικές μεταβλητές (path, channel κλπ.).
Για να βρείτε περισσότερες πληροφορίες για την ενεργοποίηση κωδικών πρόσβασης τρίτων, επισκεφθείτε το πρόγραμμα αλληλογραφίας σας, για το gmail εδώ.
Στην περιπτωση μου, η fastmail ήταν η πιο εύκολη ρύθμιση, ειδικά αν χρησιμοποιείτε ένα custom domain.
Ξεκινήστε τον συγχρονισμό του ηλεκτρονικού ταχυδρομείου σας με την εκτέλεση:
mbsync -a
Φτιάξε το mailbox
Κατεβάστε το mu
πακετο
Αναζήτησε για mu
or mu4e
guix install mu
sudo apt install mu4e
Προετοιμάστε το mailbox εκτελώντας
mu init --maildir=~/Mail --my--address=<your-address>
Εδώ μπορείς να προσθέσεις πολλαπλά email
Εγκατέστησε mu4e με πολλαπλούς λογαριασμούς
Δημιουργήστε ένα αρχείο στην επιθυμητή τοποθεσία όπως:
~/.emacs.d/snippets/email-settings.el
και πρόσθεσε τα παρακάτω:
(require 'mu4e)
;;Define update interval, get-mail-command, maildir-list and message-send-mail-function
(require 'mu4e)
;;Here we create a function to simplify adding new contexts to mu4e
(defun set-mu4e-context (context-name full-name mail-address signature server)
"Return a mu4e context named CONTEXT-NAME with :match-func matching
folder name CONTEXT-NAME in Maildir. The context's `user-mail-address',
`user-full-name' and `mu4e-compose-signature'`smtpmail-smpt-server'. is set to MAIL-ADDRESS
FULL-NAME SIGNATURE and SERVER respectively.
Special folders are set to context specific folders."
(let ((dir-name (concat "/" context-name)))
(make-mu4e-context
:name context-name
;; we match based on the maildir of the message
:match-func
`(lambda (msg)
(when msg
(string-match-p
,(concat "^" dir-name)
(mu4e-message-field msg :maildir))))
:vars
`((user-mail-address . ,mail-address)
(user-full-name . ,full-name)
(mu4e-sent-folder . ,(concat dir-name "/Sent"))
(mu4e-drafts-folder . ,(concat dir-name "/Drafts"))
(mu4e-trash-folder . ,(concat dir-name "/Trash"))
(mu4e-trash-folder . ,(concat dir-name "/Starred"))
(mu4e-refile-folder . ,(concat dir-name "/Archive"))
(smtpmail-smtp-service . ,465)
(smtpmail-smtp-server . , server)
(mu4e-compose-signature . ,signature)))))
;;Fixing duplicate UID errors when using mbsync and mu4e
(setq mu4e-change-filenames-when-moving t)
;;Define update interval, get-mail-command, maildir-list message-send-mail-function and smptmail-stream-type
(setq mu4e-update-interval (* 10 60)
mu4e-get-mail-command "mbsync -a"
mu4e-maildir-list "~/Mail/Inbox"
message-send-mail-function 'smtpmail-send-it
smtpmail-stream-type 'ssl))
Χρησιμοποιώντας το πάνω function, θα φτιάξουμε τα mu4e-contexts
(setq mu4e-contexts
`(,(set-mu4e-context
"Gmail";Context Name
"My-Username" ; User name
"my-address@gmail.com" ; Email address
"HereIs\nMy-Signature" ; Our signature
"smtp.gmail.com") ; stmpmail-smpt-server
,(set-mu4e-context ; Defining a second account for fastmail
"Fastmail"
"User-Name"
"my-address@fastmail.com"
"Second\nSignature"
"smtp.fastmail.com"))) ;Define smtp for fastmail.com
Τώρα απλά τρέξε M-x RET mu4e
και επέστρεψε στην δουλεία!
Good luck~