reddit / emacs
How to set up email step by step guide for Dummies in Emacs
Aberfitness · 2022-11-16 18:28
Hello Everyone,
I am trying to setup receiving and sending emails in Emacs, Good lord, it's hard, and I am lost. Any suggestions?
Awkward_Tradition · 2022-11-16 19:09
Check out Systemcrafters Emacs mail series.
BobKoss · 2022-11-16 19:56
What have you tried? Post the relevant sections of config files.
yedefash · 2022-11-16 20:13
a great tutorial I found
[http://liwen.name/mu4e.html](http://liwen.name/mu4e.html)
​
my mbsync config
=====================
\# mbsyncrc based on# [http://www.ict4g.net/adolfo/notes/2014/12/27/EmacsIMAP.html](http://www.ict4g.net/adolfo/notes/2014/12/27/EmacsIMAP.html)\# ACCOUNT INFORMATIONIMAPAccount gmail# Address to connect toHost imap.gmail.comUser [yoyrusername@gmail.com](mailto:yoyrusername@gmail.com)\#PassCmd "gpg2 -q --for-your-eyes-only --no-tty -d \~/dagnachewa@gmail.com.gpg"PassCmd "pass gmail/apppassword"AuthMechs LOGINSSLType IMAPSSSLVersions TLSv1.3CertificateFile /etc/ssl/certs/ca-certificates.crt# THEN WE SPECIFY THE LOCAL AND REMOTE STORAGE# - THE REMOTE STORAGE IS WHERE WE GET THE MAIL FROM (E.G., THE# SPECIFICATION OF AN IMAP ACCOUNT)# - THE LOCAL STORAGE IS WHERE WE STORE THE EMAIL ON OUR COMPUTER# REMOTE STORAGE (USE THE IMAP ACCOUNT SPECIFIED ABOVE)IMAPStore gmail-remoteAccount gmail# LOCAL STORAGE (CREATE DIRECTORIES with mkdir -p \~/Maildir/gmail)MaildirStore gmail-localPath \~/Maildir/gmail/Inbox \~/Maildir/gmail/INBOX# REQUIRED ONLY IF YOU WANT TO DOWNLOAD ALL SUBFOLDERS; SYNCING SLOWS DOWN# SubFolders Verbatim# CONNECTIONS SPECIFY LINKS BETWEEN REMOTE AND LOCAL FOLDERS## CONNECTIONS ARE SPECIFIED USING PATTERNS, WHICH MATCH REMOTE MAIl# FOLDERS. SOME COMMONLY USED PATTERS INCLUDE:## 1 "\*" TO MATCH EVERYTHING# 2 "!DIR" TO EXCLUDE "DIR"# 3 "DIR" TO MATCH DIRChannel gmail-inboxFar :gmail-remote:Near :gmail-local:Patterns "INBOX"Create BothExpunge BothSyncState \*Channel gmail-sentFar :gmail-remote:"\[Gmail\]/Sent Mail"Near :gmail-local:"Sent Mail"Create BothExpunge BothSyncState \*Channel gmail-allFar :gmail-remote:"\[Gmail\]/All Mail"Near :gmail-local:"All Mail"Create BothExpunge BothSyncState \*Channel gmail-starredFar :gmail-remote:"\[Gmail\]/Starred"Near :gmail-local:"Starred"Create BothExpunge BothSyncState \*Channel gmail-trashFar :gmail-remote:"\[Gmail\]/Trash"Near :gmail-local:"Trash"Create BothExpunge BothSyncState \*# GROUPS PUT TOGETHER CHANNELS, SO THAT WE CAN INVOKE# MBSYNC ON A GROUP TO SYNC ALL CHANNELS## FOR INSTANCE: "mbsync gmail" GETS MAIL FROM# "gmail-inbox", "gmail-sent", and "gmail-trash"#Group gmailChannel gmail-inboxChannel gmail-sentChannel gmail-trashChannel gmail-allChannel gmail-starred
=========================
​
my mu4e config
[https://github.com/wereket/lambda-emacs/blob/main/lambda-library/lambda-user/lem-setup-mail.el](https://github.com/wereket/lambda-emacs/blob/main/lambda-library/lambda-user/lem-setup-mail.el)
arthurno1 · 2022-11-16 20:13
Try some of these (or all):
https://www.emacswiki.org/emacs/GnusTutorial
https://github.com/redguardtoo/mastering-emacs-in-one-year-guide/blob/master/gnus-guide-en.org
https://koldfront.dk/text/gnus-email-tutorial.html
https://scottmcpeak.com/gnus.html
https://codingquark.com/emacs/2015/12/05/setting-up-gnus-in-emacs.html
https://tech.toryanderson.com/posts/gnusmail/
https://www.gnu.org/software/emacs/manual/html_node/gnus/
TunaCowboy · 2022-11-16 21:20
For `gnus`:
;; ~/.gnus
(setq user-mail-address "<EMAIL@ADDR>"
user-full-name "<FULL NAME>")
(setq gnus-select-method
'(nnimap "<HOSTNAME>"
(nnimap-address "imap.<HOSTNAME>.com")
(nnimap-server-port "imaps")
(nnimap-stream ssl)))
(setq gnus-parameters '((".*" (display . all))))
(setq smtpmail-smtp-server "smtp.<HOSTNAME>.com"
smtpmail-smtp-service 587)
(setq send-mail-function 'smtpmail-send-it
message-send-mail-function 'smtpmail-send-it)
;smtpmail-debug-info t
;smtpmail-debug-verb t
(setq gnus-message-archive-group "nnimap+<MB_NAME>:INBOX.old-messages")
(setq gnus-outgoing-message-group "nnimap+<MB_NAME>:INBOX.Sent")
(setq gnus-thread-sort-functions
'((not gnus-thread-sort-by-number)))
(add-hook 'gnus-started-hook 'gnus-group-list-all-groups)
;; ~/.authinfo.gpg
machine imap.<HOSTNAME>.com login <EMAIL@ADDR> password "<PASSWORD>" port imaps
machine smtp.<HOSTNAME>.com login <EMAIL@ADDR> password "<PASSWORD>" port 587
[deleted] · 2022-11-16 22:23
[deleted]
BeetleB · 2022-11-16 23:44
Gnus is all powerful, but also all complicated. I wouldn't recommend it unless you really want to invest time in it.
Most guides will talk about mu4e, but seriously also consider using notmuch.
Beyond that, can't help you until you specify what your needs are.
daraul · 2022-11-17 00:13
I can't give you a concrete guide, but maybe my scribbled notes will be helpful:
I use gmail accounts mostly, so the configuration is more-or-less the same save
for usernames, and passwords.
<a id="orgaf2d8e1"></a>
# mu4e update interval
Maybe I don’t have to worry about this? I know I’ve seen email pop up without me
going into mu4e. I think that maybe mbsync updates by itself, sometimes.
<https://emacs.stackexchange.com/a/41088/29486>
<a id="org57e35c1"></a>
# msync groups
Use mbsync all, so you can do `mbsync all` to update **all** emails. Note the lack
of `-V` – I guess that means verbose.
Group all
Channel mail@domain1.com-inbox
Channel mail@domain1.com-sent
Channel mail@domain1.com-drafts
Channel mail@domain1.com-archive
Channel mail@domain2.com-inbox
Channel mail@domain2.com-sent
Channel mail@domain2.com-drafts
<a id="org7c794f3"></a>
# Configuring gmail accounts
Consider the example `~/.mbsyncrc` file below. It should serve a gmail account.
IMAPAccount account@gmail.com
Host imap.gmail.com
User account@gmail.com
Pass password
SSLType IMAPS
CertificateFile ~/.mail/certificates/root-certificates.pem
SSLVersions TLSv1.2
AuthMechs PLAIN
SystemCertificates no
IMAPStore account@gmail.com-remote
Account account@gmail.com
MaildirStore account@gmail.com-local
Path ~/.mail/account@gmail.com/
Inbox ~/.mail/account@gmail.com/INBOX
SubFolders Verbatim
Channel account@gmail.com-inbox
Master :account@gmail.com-remote:
Slave :account@gmail.com-local:
Patterns "INBOX"
Create Slave
Sync All
MaxMessages 100
Expunge Both
SyncState *
Channel account@gmail.com-sent
Master :account@gmail.com-remote:"[Gmail]/Sent Mail"
Slave :account@gmail.com-local:"Sent Items"
Create Slave
Sync All
MaxMessages 100
Expunge Both
SyncState *
Channel account@gmail.com-drafts
Master :account@gmail.com-remote:"[Gmail]/Drafts"
Slave :account@gmail.com-local:"Drafts"
Create Slave
Sync All
MaxMessages 100
Expunge Both
SyncState *
Group account@gmail.com
Channel account@gmail.com-inbox
Channel account@gmail.com-sent
Channel account@gmail.com-drafts
Then, put the account’s authentication information into `~/.authinfo`:
machine smtp.gmail.com login account.com port 587 password password
<a id="org7a9970c"></a>
# Configuring microsoft oauth accounts
Microsoft accounts support oauth – like my work email.
[This guide](https://www.macs.hw.ac.uk/~rs46/posts/2022-01-11-mu4e-oauth.html) shows how to set one up with mu4e.
williewillus · 2022-11-17 02:50
I use mu4e. It's concerned purely with indexing mail on the local system. I use mbsync (part of isync package on arch) which is an IMAP client that actually downloads emails and propagates mutations back to the server.
Everything just worked after I gave the mu and mu4e manuals a once over. I'd recommend it if you're looking for the easiest solution.
uita23 · 2022-11-17 02:55
These replies are great and really helpful, but they sure don't help me sell people on using Emacs for mail!
duchainer · 2022-11-17 03:33
Beep Boop? /s
https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ
Thanks for the suggestion, I did not see that series yet even though I've watched quite a few of his Guix videos
duchainer · 2022-11-17 03:37
I suppose one of the issue is that, as far as I know, there is no emacs distribution that allow you to have a step-by-step setup of your email client.
But not a lot of emacs packages have involved on-boarding included, even though the self-documentation amount and navigation looks pretty good.
I'm still at the learning stage of Emacs usage, as I'm the only Emacs user I personally know. \^\^'''
Doom Emacs has been kind to me though for getting started as an more-or-less plug-ang-play professional Emacs IDE for Rust and GodotScript.
Edit: Better sentence structure
suikakajyu · 2022-11-17 05:33
E-mail in Emacs is great once you set it up, but yes... It is hard. But I think the main reason it's hard is that you're going from a web or desktop app that handles all your e-mail functions to, like, 3 different programs that all need to be configured to talk to one another, and to servers that are usually quite opaque in terms of config.
joshuacottrell · 2022-11-17 06:01
Thanks. I'd like to hook up my email too. Is this it? [https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ](https://www.youtube.com/watch?v=yZRyEhi4y44&list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ)
Awkward_Tradition · 2022-11-17 09:31
[Series](https://youtube.com/playlist?list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ)
Awkward_Tradition · 2022-11-17 09:39
[Here's the whole series ](https://youtube.com/playlist?list=PLEoMzSkcN8oM-kA19xOQc8s0gr0PpFGJQ)
Neither have I, but his Emacs videos are really good.
tvaughan · 2022-11-17 10:44
This might help https://gitlab.com/tvaughan/dotfiles/-/blob/trunk/tvaughan/.emacs.d/lisp/setup-10mu4e.el
Schievel1 · 2022-11-17 11:28
For mu4e there is this video from distrowatch, which was easy enough to follow and worked for me.
xiaozhuUu · 2022-11-17 15:43
I actually used mu4e for more than a year as my primary email client. In the end, I gave up. Even after a year I was still looking up keybindings for rarely used keys. HTML emails are a hassle -- for example when forwarding people often complained to me that the email became unreadable - extra work to send those again. mbsync was flooding me with pid errors because I got tired of fixing them - too much work. Making junk classification consistent between the host server and the local client is work. The gains are relatively small in comparison.
itll_be_all_right · 2022-11-18 13:48
The most basic non tech way I found is to use a GUI email program to get and send the mail and use emacs to tag, sort , write it and integrate with my org mode life.
The GUI app must be able to store the email as maildir NOT mbox. Thunderbird or Mailmate can do that.
Then you can point notmuch at the maildir created by the GUI program.
I'm an emacs newb and found notmuch easy to set up and configure, and it even allowed me to write emails in emacs before sending them to my system default email client to send.
With that, I experimented with do I even enjoy triaging, reading and working with email on emacs? I do, and now it seems more manageable to work out what is the next piece of the emacs email tool chain I need to learn.