From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Kelly Dean" Newsgroups: gmane.emacs.devel Subject: Rant - Emacs mail is not user friendly Date: Sun, 16 Nov 2014 12:18:41 +0000 Message-ID: References: <871tp4wut1.fsf@uwakimon.sk.tsukuba.ac.jp> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1416151039 18484 80.91.229.3 (16 Nov 2014 15:17:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 16 Nov 2014 15:17:19 +0000 (UTC) Cc: emacs-devel@gnu.org To: "Stephen J. Turnbull" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Nov 16 16:17:12 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Xq1Zg-0005VA-IQ for ged-emacs-devel@m.gmane.org; Sun, 16 Nov 2014 16:17:12 +0100 Original-Received: from localhost ([::1]:44081 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xq1Zg-0005K3-2j for ged-emacs-devel@m.gmane.org; Sun, 16 Nov 2014 10:17:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45465) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xpyu4-0001u3-Jk for emacs-devel@gnu.org; Sun, 16 Nov 2014 07:26:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xpytw-0004HM-GQ for emacs-devel@gnu.org; Sun, 16 Nov 2014 07:26:04 -0500 Original-Received: from relay4-d.mail.gandi.net ([2001:4b98:c:538::196]:45488) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xpytw-0004HI-6k for emacs-devel@gnu.org; Sun, 16 Nov 2014 07:25:56 -0500 Original-Received: from mfilter36-d.gandi.net (mfilter36-d.gandi.net [217.70.178.167]) by relay4-d.mail.gandi.net (Postfix) with ESMTP id 6EEBC172081; Sun, 16 Nov 2014 13:25:55 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mfilter36-d.gandi.net Original-Received: from relay4-d.mail.gandi.net ([217.70.183.196]) by mfilter36-d.gandi.net (mfilter36-d.gandi.net [10.0.15.180]) (amavisd-new, port 10024) with ESMTP id U25MASm7F1MF; Sun, 16 Nov 2014 13:25:53 +0100 (CET) X-Originating-IP: 73.169.42.166 Original-Received: from localhost (c-73-169-42-166.hsd1.co.comcast.net [73.169.42.166]) (Authenticated sender: kelly@prtime.org) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 998B1172067; Sun, 16 Nov 2014 13:25:52 +0100 (CET) In-Reply-To: <871tp4wut1.fsf@uwakimon.sk.tsukuba.ac.jp> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4b98:c:538::196 X-Mailman-Approved-At: Sun, 16 Nov 2014 10:17:08 -0500 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:177302 Archived-At: > In particular, mail > queuing is about as complex as things get. MUAs normally delegate > queuing to the MTA (that's how I handle disconnected operation on my > laptop, for example, and that's the *only* reason I run Postfix on my > laptop), and in that sense feedmail.el is a hack. It doesn't seem very complex, at least on the user side of things. You mi= ght want to consider msmtp instead of Postfix on your laptop. > I'm sure you have good reason for doing that, Yes. Emacs on my machine doesn't have Internet access. > but that is a very unusual use case. I certainly hope not! The usual case is that a person's instance of Emacs= has access to his data (otherwise, Emacs wouldn't be very useful); if my= use case is unusual, that means the usual case is that his Emacs has acc= ess not only to his data, but also to the Internet. With a program like E= macs serving as a bridge, that means his data isn't his data, but instead= belongs to some Russian or Chinese hacker, whoever crosses the bridge fi= rst, and the original owner is permitted to retain a copy of the data jus= t due to the hacker's mercifulness, or maybe just as bait so the hacker c= an get even more data later. The years when normal people weren't targets= are long gone. > Bottom line: I think the task you were trying to accomplish is far > more complex that you are admitting, and has little to do with "user > friendliness" of Emacs MUAs. My previous, manual workflow was: 0. Compose a message in Emacs, note a subject and recipient, and note any= files to attach. 1. Log in to webmail, and click =E2=80=9Fcompose message=E2=80=9D. 2. Copy the message, subject, and recipient from Emacs to the web browser= , and attach the noted files. 3. Click =E2=80=9Fsend=E2=80=9D. 4. Save the message in Emacs to my file of sent messages (in anticipation= of the webmail service's betrayal). That was inconvenient, so I decided a better workflow would be: 0. Compose a message in Emacs in standard format, with Subject and To hea= ders separated from the body by a blank line. 1. Add the From, Date, and Message-ID headers. 2. Save the message to a file foo in an outbox directory. 3. Run =E2=8C=9Cmsmtp -t < outbox/foo=E2=8C=9D 4. If #3 succeeds, then run =E2=8C=9Cmv outbox/foo sent/foo=E2=8C=9D The Emacs mail-sending functionality I wanted was simply automation of st= eps #1 (plus let me attach files) and #2 of the better workflow, without = also doing steps #3 and #4. That's hardly complex, and in fact is simply = _omission_ of the last two steps that MUAs ordinarily do (or equivalents = thereof). I looked in the Emacs manual, and it said Emacs can do what I w= anted, and said to read feedmail.el to learn how. Nowhere did the manual = warn =E2=80=9FHere be dragons=E2=80=9D; had I known to avoid feedmail, th= at would have saved me the day that I wasted on it. For me, Emacs assists with step #0 except that the =E2=8C=9C--text follow= s this line--=E2=8C=9D is left in, it automates step #1 except that the M= essage-ID is broken, and it automates step #2 except that it leaves the d= raft in place after queuing the message. I eventually figured out that I don't need feedmail at all. The broken Me= ssage-ID is just because Emacs (in message.el; not feedmail's fault) reje= cts my =E2=80=9Flocalhost=E2=80=9D hostname (the machine has no network c= onnection, so it needs no hostname), and the other things are fixable wit= h just a few lines: (defun delete-mail-header-separator () "Delete `mail-header-separator'. This function copied from top of `mess= age-send-mail-partially' in Emacs's message.el." (goto-char (point-min)) (re-search-forward (concat "^" (regexp-quote mail-header-separator) "\n")) (replace-match "\n")) (defcustom message-outbox-directory (file-name-as-directory (expand-file-name "outbox" message-directory)) :type 'directory) ; mv-rename copied from http://code.activestate.com/recipes/578116-move-f= iles-with-rename-if-required/ (defun queue-message-to-outbox () (let ((filename (expand-file-name "out.mail" message-outbox-directory))= ) (delete-mail-header-separator) (write-file filename) (shell-command (concat "mv-rename " filename " " message-outbox-direc= tory)))) (defun discard-draft () (delete-file (buffer-file-name))) (setq message-send-mail-function 'queue-message-to-outbox) (add-hook 'message-sent-hook 'discard-draft) Also I had to add =E2=8C=9C(pushnew '(utf-8 . 8bit) mm-body-charset-encod= ing-alist)=E2=8C=9D to my init file to make Emacs stop mangling the text.= (Yes I know, the mangling is intended as a preemptive surrender to the a= dministrators of broken MTAs that used to dominate the Internet, but thos= e seem to have been mostly vanquished now. At least my messages appear to= be getting to the mailing list with no problem.) And Emacs doesn't like it if I open sent/foo that has the =E2=8C=9C--text= follows this line--=E2=8C=9D deleted and switch to message-mode and try = to resend it, so I have to put that back in this case. I don't know what = the point of it is, but it's a minor inconvenience and I've already waste= d enough time on Emacs email, so I'll live with it. Last problem that I do care about is that Emacs keeps inserting line brea= ks after 72 characters, so I have to switch out of message-mode or copy/p= aste from another buffer to make it stop doing that because I can't find = the setting to turn it off. Why is it turned on by default? Modern email = readers do have word-wrap, after all. Even Emacs.