{"id":6122,"date":"2017-04-06T12:17:00","date_gmt":"2017-04-06T16:17:00","guid":{"rendered":"http:\/\/irreal.org\/blog\/?p=6122"},"modified":"2017-04-06T12:17:07","modified_gmt":"2017-04-06T16:17:07","slug":"mu4e-configuration","status":"publish","type":"post","link":"https:\/\/irreal.org\/blog\/?p=6122","title":{"rendered":"Mu4e Configuration"},"content":{"rendered":"<p> This post is the latest in my series on installing and configuring <code>mu4e<\/code> on a Mac and using Apple as a mail provider. As I wrote <a href=\"http:\/\/irreal.org\/blog\/?p=6119\">in my post on mbsync configuration<\/a>, setting up <code>mu4e<\/code> is simple by comparison. On my MacBook Pro, I compiled the <code>mu<\/code> package from source. On my iMac I installed it with homebrew. Either way works fine. The advantage of homebrew is that it will load all the libraries that you need but aren&rsquo;t included in the base macOS install. <\/p>\n<p> My configuration is an adaption of <a href=\"https:\/\/vxlabs.com\/2017\/02\/07\/mu4e-0-9-18-e-mailing-with-emacs-now-even-better\/\">Charl Botha&rsquo;s<\/a>, which uses some of the features in the latest release, with the addition of <a href=\"http:\/\/pragmaticemacs.com\/mu4e-tutorials\/\">some ideas from Ben Maughan<\/a> and a few bits of my own: <\/p>\n<div class=\"org-src-container\">\n<pre class=\"src src-emacs-lisp\"><span class=\"linenr\">  1: <\/span>(<span style=\"color: #a020f0;\">require<\/span> '<span style=\"color: #008b8b;\">mu4e<\/span>)\n<span class=\"linenr\">  2: <\/span>\n<span id=\"coderef-start-viewers\" class=\"coderef-off\"><span class=\"linenr\">  3: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Call EWW to display HTML messages<\/span><\/span>\n<span class=\"linenr\">  4: <\/span>(<span style=\"color: #a020f0;\">defun<\/span> <span style=\"color: #0000ff;\">jcs-view-in-eww<\/span> (msg)\n<span class=\"linenr\">  5: <\/span>  (eww-browse-url (concat <span style=\"color: #8b2252;\">\"file:\/\/\"<\/span> (mu4e~write-body-to-html msg))))\n<span class=\"linenr\">  6: <\/span>\n<span class=\"linenr\">  7: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Arrange to view messages in either the default browser or EWW<\/span>\n<span class=\"linenr\">  8: <\/span>(add-to-list 'mu4e-view-actions '(<span style=\"color: #8b2252;\">\"ViewInBrowser\"<\/span> . mu4e-action-view-in-browser) t)\n<span id=\"coderef-end-viewers\" class=\"coderef-off\"><span class=\"linenr\">  9: <\/span>(add-to-list 'mu4e-view-actions '(<span style=\"color: #8b2252;\">\"Eww view\"<\/span> . jcs-view-in-eww) t)<\/span>\n<span class=\"linenr\"> 10: <\/span>\n<span class=\"linenr\"> 11: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">From Ben Maughan: Get some Org functionality in compose buffer<\/span>\n<span class=\"linenr\"> 12: <\/span>(<span style=\"color: #a020f0;\">add-hook<\/span> 'message-mode-hook 'turn-on-orgtbl)\n<span class=\"linenr\"> 13: <\/span>(<span style=\"color: #a020f0;\">add-hook<\/span> 'message-mode-hook 'turn-on-orgstruct++)\n<span class=\"linenr\"> 14: <\/span>\n<span class=\"linenr\"> 15: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Call mu every 5 minutes to update and index Maildir<\/span>\n<span class=\"linenr\"> 16: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-update-interval 300)\n<span class=\"linenr\"> 17: <\/span>\n<span class=\"linenr\"> 18: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Set format=flowed<\/span>\n<span class=\"linenr\"> 19: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">mu4e sets up visual-line-mode and also fill (M-q) to do the right thing<\/span>\n<span class=\"linenr\"> 20: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">each paragraph is a single long line; at sending, emacs will add the<\/span>\n<span class=\"linenr\"> 21: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">special line continuation characters.<\/span>\n<span class=\"linenr\"> 22: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-compose-format-flowed t)\n<span class=\"linenr\"> 23: <\/span>\n<span class=\"linenr\"> 24: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">every new email composition gets its own frame! (window)<\/span>\n<span class=\"linenr\"> 25: <\/span><span style=\"color: #b22222;\">;;<\/span><span style=\"color: #b22222;\">(<\/span><span style=\"color: #a020f0;\">setq<\/span><span style=\"color: #b22222;\"> mu4e-compose-in-new-frame t)<\/span>\n<span class=\"linenr\"> 26: <\/span>\n<span class=\"linenr\"> 27: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">give me ISO(ish) format date-time stamps in the header list<\/span>\n<span class=\"linenr\"> 28: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-headers-date-format <span style=\"color: #8b2252;\">\"%Y-%m-%d %H:%M\"<\/span>)\n<span class=\"linenr\"> 29: <\/span>\n<span class=\"linenr\"> 30: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">show full addresses in view message (instead of just names)<\/span>\n<span class=\"linenr\"> 31: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">toggle per name with M-RET<\/span>\n<span class=\"linenr\"> 32: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-view-show-addresses 't)\n<span class=\"linenr\"> 33: <\/span>\n<span class=\"linenr\"> 34: <\/span><span style=\"color: #b22222;\">;;<\/span><span style=\"color: #b22222;\">store org-mode links to messages<\/span>\n<span class=\"linenr\"> 35: <\/span>(<span style=\"color: #a020f0;\">require<\/span> '<span style=\"color: #008b8b;\">org-mu4e<\/span>)\n<span class=\"linenr\"> 36: <\/span><span style=\"color: #b22222;\">;;<\/span><span style=\"color: #b22222;\">store link to message if in header view, not to header query<\/span>\n<span class=\"linenr\"> 37: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> org-mu4e-link-query-in-headers-mode nil)\n<span class=\"linenr\"> 38: <\/span>\n<span class=\"linenr\"> 39: <\/span><span style=\"color: #b22222;\">;;<\/span><span style=\"color: #b22222;\">rename files when moving<\/span>\n<span class=\"linenr\"> 40: <\/span><span style=\"color: #b22222;\">;;<\/span><span style=\"color: #b22222;\">NEEDED FOR MBSYNC<\/span>\n<span class=\"linenr\"> 41: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-change-filenames-when-moving t)\n<span class=\"linenr\"> 42: <\/span>\n<span class=\"linenr\"> 43: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Try to show images<\/span>\n<span class=\"linenr\"> 44: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-view-show-images t\n<span class=\"linenr\"> 45: <\/span>      mu4e-show-images t\n<span class=\"linenr\"> 46: <\/span>      mu4e-view-image-max-width 800)\n<span class=\"linenr\"> 47: <\/span>\n<span class=\"linenr\"> 48: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">path to our Maildir directory<\/span>\n<span class=\"linenr\"> 49: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-maildir <span style=\"color: #8b2252;\">\"~\/Maildir\"<\/span>)\n<span class=\"linenr\"> 50: <\/span>\n<span class=\"linenr\"> 51: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">the next are relative to `<\/span><span style=\"color: #008b8b;\">mu4e-maildir<\/span><span style=\"color: #b22222;\">'<\/span>\n<span class=\"linenr\"> 52: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">instead of strings, they can be functions too, see<\/span>\n<span class=\"linenr\"> 53: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">their docstring or the chapter 'Dynamic folders'<\/span>\n<span class=\"linenr\"> 54: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-sent-folder   <span style=\"color: #8b2252;\">\"\/icloud\/Sent Messages\"<\/span>\n<span class=\"linenr\"> 55: <\/span>      mu4e-drafts-folder <span style=\"color: #8b2252;\">\"\/icloud\/Drafts\"<\/span>\n<span class=\"linenr\"> 56: <\/span>      mu4e-trash-folder  <span style=\"color: #8b2252;\">\"\/icloud\/Trash\"<\/span>)\n<span class=\"linenr\"> 57: <\/span>\n<span class=\"linenr\"> 58: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">the maildirs you use frequently; access them with 'j' ('jump')<\/span>\n<span class=\"linenr\"> 59: <\/span>(<span style=\"color: #a020f0;\">setq<\/span>   mu4e-maildir-shortcuts\n<span class=\"linenr\"> 60: <\/span>        '((<span style=\"color: #8b2252;\">\"\/icloud\/Archive\"<\/span>             . ?a)\n<span class=\"linenr\"> 61: <\/span>          (<span style=\"color: #8b2252;\">\"\/icloud\/inbox\"<\/span>               . ?i)\n<span class=\"linenr\"> 62: <\/span>          (<span style=\"color: #8b2252;\">\"\/icloud\/Saved\"<\/span>               . ?v)\n<span class=\"linenr\"> 63: <\/span>          (<span style=\"color: #8b2252;\">\"\/icloud\/Sent Messages\"<\/span>       . ?s)))\n<span class=\"linenr\"> 64: <\/span>\n<span class=\"linenr\"> 65: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">the list of all of my e-mail addresses<\/span>\n<span class=\"linenr\"> 66: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-user-mail-address-list '(<span style=\"color: #8b2252;\">\"XXX@mac.com\"<\/span>\n<span class=\"linenr\"> 67: <\/span>                                    <span style=\"color: #8b2252;\">\"YYY@irreal.org\"<\/span>))\n<span class=\"linenr\"> 68: <\/span>\n<span class=\"linenr\"> 69: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">the headers to show in the headers list -- a pair of a field<\/span>\n<span class=\"linenr\"> 70: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">and its width, with `<\/span><span style=\"color: #008b8b;\">nil<\/span><span style=\"color: #b22222;\">' meaning 'unlimited'<\/span>\n<span class=\"linenr\"> 71: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">(better only use that for the last field.<\/span>\n<span class=\"linenr\"> 72: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">These are the defaults:<\/span>\n<span class=\"linenr\"> 73: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-headers-fields\n<span class=\"linenr\"> 74: <\/span>    '( (<span style=\"color: #483d8b;\">:date<\/span>          .  25)    <span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">alternatively, use :human-date<\/span>\n<span class=\"linenr\"> 75: <\/span>       (<span style=\"color: #483d8b;\">:flags<\/span>         .   6)\n<span class=\"linenr\"> 76: <\/span>       (<span style=\"color: #483d8b;\">:from<\/span>          .  22)\n<span class=\"linenr\"> 77: <\/span>       (<span style=\"color: #483d8b;\">:subject<\/span>       .  nil))) <span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">alternatively, use :thread-subject<\/span>\n<span class=\"linenr\"> 78: <\/span>\n<span class=\"linenr\"> 79: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Program to get mail.<\/span>\n<span class=\"linenr\"> 80: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Called when 'U' is pressed in main view.<\/span>\n<span class=\"linenr\"> 81: <\/span>\n<span class=\"linenr\"> 82: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">If you get your mail without an explicit command,<\/span>\n<span class=\"linenr\"> 83: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">use \"true\" for the command (this is the default)<\/span>\n<span class=\"linenr\"> 84: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">when I press U in the main view, or C-c C-u elsewhere,<\/span>\n<span class=\"linenr\"> 85: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">this command is called, followed by the mu indexer<\/span>\n<span class=\"linenr\"> 86: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-get-mail-command <span style=\"color: #8b2252;\">\"mbsync icloud\"<\/span>)\n<span class=\"linenr\"> 87: <\/span>\n<span class=\"linenr\"> 88: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">not using smtp-async yet<\/span>\n<span class=\"linenr\"> 89: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">some of these variables will get overridden by the contexts<\/span>\n<span class=\"linenr\"> 90: <\/span>(<span style=\"color: #a020f0;\">setq<\/span>\n<span class=\"linenr\"> 91: <\/span> send-mail-function 'smtpmail-send-it\n<span class=\"linenr\"> 92: <\/span> message-send-mail-function 'smtpmail-send-it)\n<span class=\"linenr\"> 93: <\/span>\n<span class=\"linenr\"> 94: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">don't keep message buffers around<\/span>\n<span class=\"linenr\"> 95: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> message-kill-buffer-on-exit t)\n<span class=\"linenr\"> 96: <\/span>\n<span id=\"coderef-start-context\" class=\"coderef-off\"><span class=\"linenr\"> 97: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Contexts: One for each mail personality.<\/span><\/span>\n<span class=\"linenr\"> 98: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-contexts\n<span class=\"linenr\"> 99: <\/span>      `( ,(make-mu4e-context\n<span class=\"linenr\">100: <\/span>           <span style=\"color: #483d8b;\">:name<\/span> <span style=\"color: #8b2252;\">\"a XXX@mac.com\"<\/span>\n<span class=\"linenr\">101: <\/span>           <span style=\"color: #483d8b;\">:enter-func<\/span> (<span style=\"color: #a020f0;\">lambda<\/span> () (mu4e-message <span style=\"color: #8b2252;\">\"Enter XXX@mac.com context\"<\/span>))\n<span class=\"linenr\">102: <\/span>           <span style=\"color: #483d8b;\">:leave-func<\/span> (<span style=\"color: #a020f0;\">lambda<\/span> () (mu4e-message <span style=\"color: #8b2252;\">\"Leave XXX@mac.com context\"<\/span>))\n<span class=\"linenr\">103: <\/span>           <span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">Match based on the contact-fields of the message (that we are replying to)<\/span>\n<span class=\"linenr\">104: <\/span>           <span style=\"color: #483d8b;\">:match-func<\/span> (<span style=\"color: #a020f0;\">lambda<\/span> (msg)\n<span class=\"linenr\">105: <\/span>                         (<span style=\"color: #a020f0;\">when<\/span> msg \n<span class=\"linenr\">106: <\/span>                           (mu4e-message-contact-field-matches msg \n<span class=\"linenr\">107: <\/span>                                                               <span style=\"color: #483d8b;\">:to<\/span> <span style=\"color: #8b2252;\">\"XXX@mac.com\"<\/span>)))\n<span class=\"linenr\">108: <\/span>           <span style=\"color: #483d8b;\">:vars<\/span> '( ( user-mail-address      . <span style=\"color: #8b2252;\">\"XXX@mac.com\"<\/span>  )\n<span class=\"linenr\">109: <\/span>                    ( user-full-name         . <span style=\"color: #8b2252;\">\"Jon Snader\"<\/span> )\n<span class=\"linenr\">110: <\/span>                    ( smtpmail-smtp-server   . <span style=\"color: #8b2252;\">\"smtp.mail.me.com\"<\/span> )\n<span class=\"linenr\">111: <\/span>                    ( smtpmail-smtp-service  . 587)\n<span class=\"linenr\">112: <\/span>                    ( smtpmail-stream-type   . starttls)))\n<span class=\"linenr\">113: <\/span>\n<span class=\"linenr\">114: <\/span>         ,(make-mu4e-context\n<span class=\"linenr\">115: <\/span>           <span style=\"color: #483d8b;\">:name<\/span> <span style=\"color: #8b2252;\">\"i YYY@irreal.org\"<\/span>\n<span class=\"linenr\">116: <\/span>           <span style=\"color: #483d8b;\">:enter-func<\/span> (<span style=\"color: #a020f0;\">lambda<\/span> () (mu4e-message <span style=\"color: #8b2252;\">\"Enter YYY@irreal.org context\"<\/span>))\n<span class=\"linenr\">117: <\/span>           <span style=\"color: #483d8b;\">:leave-func<\/span> (<span style=\"color: #a020f0;\">lambda<\/span> () (mu4e-message <span style=\"color: #8b2252;\">\"Leave YYY@irreal.org context\"<\/span>))\n<span class=\"linenr\">118: <\/span>           <span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">we match based on the contact-fields of the message<\/span>\n<span class=\"linenr\">119: <\/span>           <span style=\"color: #483d8b;\">:match-func<\/span> (<span style=\"color: #a020f0;\">lambda<\/span> (msg)\n<span class=\"linenr\">120: <\/span>                         (<span style=\"color: #a020f0;\">when<\/span> msg \n<span class=\"linenr\">121: <\/span>                           (mu4e-message-contact-field-matches msg \n<span class=\"linenr\">122: <\/span>                                                               <span style=\"color: #483d8b;\">:to<\/span> <span style=\"color: #8b2252;\">\"YYY@irreal.org\"<\/span>)))\n<span class=\"linenr\">123: <\/span>           <span style=\"color: #483d8b;\">:vars<\/span> '( ( user-mail-address       . <span style=\"color: #8b2252;\">\"YYY@irreal.org\"<\/span> )\n<span class=\"linenr\">124: <\/span>                    ( user-full-name          . <span style=\"color: #8b2252;\">\"Jon Snader\"<\/span> )\n<span class=\"linenr\">125: <\/span>                    ( smtpmail-smtp-server    . <span style=\"color: #8b2252;\">\"smtp-server.tampabay.rr.com\"<\/span> )\n<span class=\"linenr\">126: <\/span>                    ( smtpmail-stream-type    . plain)\n<span class=\"linenr\">127: <\/span>                    ( smtpmail-smtp-service   . 25)))))\n<span class=\"linenr\">128: <\/span>\n<span class=\"linenr\">129: <\/span>\n<span class=\"linenr\">130: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">start with the first (default) context; <\/span>\n<span class=\"linenr\">131: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-context-policy 'pick-first)\n<span class=\"linenr\">132: <\/span>\n<span class=\"linenr\">133: <\/span><span style=\"color: #b22222;\">;; <\/span><span style=\"color: #b22222;\">compose with the current context if no context matches;<\/span>\n<span id=\"coderef-end-context\" class=\"coderef-off\"><span class=\"linenr\">134: <\/span>(<span style=\"color: #a020f0;\">setq<\/span> mu4e-compose-context-policy nil)<\/span>\n<span class=\"linenr\">135: <\/span>\n<span class=\"linenr\">136: <\/span>(global-set-key (kbd <span style=\"color: #8b2252;\">\"C-&lt;f6&gt;\"<\/span>) 'mu4e)\n<\/pre>\n<\/div>\n<p> As you can see, it&rsquo;s very similar to Botha&rsquo;s. Some emails, especially commercial ones (like those from Amazon) and those from professional groups like ACM, don&rsquo;t render very well so I prefer to view them in a browser environment. Usually, <code>EWW<\/code> is sufficient but sometimes I need the full Safari treatment. Lines <a href=\"#coderef-start-viewers\" class=\"coderef\" onmouseover=\"CodeHighlightOn(this, 'coderef-start-viewers');\" onmouseout=\"CodeHighlightOff(this, 'coderef-start-viewers');\">3<\/a>&ndash;<a href=\"#coderef-end-viewers\" class=\"coderef\" onmouseover=\"CodeHighlightOn(this, 'coderef-end-viewers');\" onmouseout=\"CodeHighlightOff(this, 'coderef-end-viewers');\">9<\/a> show how to do that. If I press <kbd>a<\/kbd> while viewing a message, it will bring up a menu with various viewing options. If I choose <kbd>E<\/kbd> the message is displayed in <code>EWW<\/code>. <kbd>V<\/kbd> displays it in the default browser, Safari in my case. <\/p>\n<p> The other noteworthy thing about the configuration are the contexts, which are configured on lines <a href=\"#coderef-start-context\" class=\"coderef\" onmouseover=\"CodeHighlightOn(this, 'coderef-start-context');\" onmouseout=\"CodeHighlightOff(this, 'coderef-start-context');\">97<\/a>&ndash;<a href=\"#coderef-end-context\" class=\"coderef\" onmouseover=\"CodeHighlightOn(this, 'coderef-end-context');\" onmouseout=\"CodeHighlightOff(this, 'coderef-end-context');\">134<\/a>. All my emails are filtered through the Apple server so the contexts allow me to send mail either from my Apple account or my Irreal account. When I respond to an email, the correct &ldquo;From:&rdquo; address is chosen from the &ldquo;To:&rdquo; line of the original message. <\/p>\n<p> Finally, there&rsquo;s the matter of sending messages. Many writers recommend third party packages to handle multiple accounts but I&rsquo;ve found the contexts in <code>mu4e<\/code> handles that nicely. Unless you have special needs, <a href=\"http:\/\/pragmaticemacs.com\/emacs\/using-postfix-instead-of-smtpmail-to-send-email-in-mu4e\/\">like Ben Maughan<\/a>, using the built-in <code>smtpmail<\/code> functionality is fine. You&rsquo;ll want to set up an <code>.authinfo<\/code> file to list the servers, accounts, and passwords. The line for the apple server looks like <\/p>\n<pre class=\"example\">\nmachine smtp.mail.me.com login XXX@mac.com password same-password-as-for-mbsync\n<\/pre>\n<p> You&rsquo;ll want to encrypt the file for security, but Emacs only asks for the password one time per (Emacs) session so that&rsquo;s not burdensome. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post is the latest in my series on installing and configuring mu4e on a Mac and using Apple as a mail provider. As I wrote in my post on mbsync configuration, setting up mu4e is simple by comparison. On &hellip; <a href=\"https:\/\/irreal.org\/blog\/?p=6122\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[18,166],"class_list":["post-6122","post","type-post","status-publish","format-standard","hentry","category-general","tag-emacs","tag-mu4e"],"_links":{"self":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6122","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6122"}],"version-history":[{"count":1,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6122\/revisions"}],"predecessor-version":[{"id":6123,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=\/wp\/v2\/posts\/6122\/revisions\/6123"}],"wp:attachment":[{"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6122"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6122"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/irreal.org\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6122"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}