From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Berman Newsgroups: gmane.emacs.bugs Subject: bug#21733: 25.0.50; Umlaut in address makes smtpmail-via-smtp fail Date: Thu, 22 Oct 2015 11:28:50 +0200 Message-ID: <87si532qwd.fsf@rub.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: ger.gmane.org 1445506235 24839 80.91.229.3 (22 Oct 2015 09:30:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 22 Oct 2015 09:30:35 +0000 (UTC) To: 21733@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 22 11:30:23 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1ZpCCU-00029Y-FJ for geb-bug-gnu-emacs@m.gmane.org; Thu, 22 Oct 2015 11:30:22 +0200 Original-Received: from localhost ([::1]:58106 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpCCT-0005TX-La for geb-bug-gnu-emacs@m.gmane.org; Thu, 22 Oct 2015 05:30:21 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34744) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpCCK-0005Rk-AZ for bug-gnu-emacs@gnu.org; Thu, 22 Oct 2015 05:30:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZpCCE-0001hX-Iz for bug-gnu-emacs@gnu.org; Thu, 22 Oct 2015 05:30:12 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:41327) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpCCE-0001hG-FF for bug-gnu-emacs@gnu.org; Thu, 22 Oct 2015 05:30:06 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZpCCE-0006TG-03 for bug-gnu-emacs@gnu.org; Thu, 22 Oct 2015 05:30:06 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stephen Berman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 22 Oct 2015 09:30:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21733 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.144550616724797 (code B ref -1); Thu, 22 Oct 2015 09:30:05 +0000 Original-Received: (at submit) by debbugs.gnu.org; 22 Oct 2015 09:29:27 +0000 Original-Received: from localhost ([127.0.0.1]:60268 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpCBZ-0006Rs-Jk for submit@debbugs.gnu.org; Thu, 22 Oct 2015 05:29:27 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:52367) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZpCBD-0006RO-Tm for submit@debbugs.gnu.org; Thu, 22 Oct 2015 05:29:23 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZpCBA-00012f-Hu for submit@debbugs.gnu.org; Thu, 22 Oct 2015 05:29:03 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:47081) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpCBA-00012b-Er for submit@debbugs.gnu.org; Thu, 22 Oct 2015 05:29:00 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34112) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpCB7-0004oi-I8 for bug-gnu-emacs@gnu.org; Thu, 22 Oct 2015 05:29:00 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZpCB4-0000w8-3m for bug-gnu-emacs@gnu.org; Thu, 22 Oct 2015 05:28:57 -0400 Original-Received: from mout.gmx.net ([212.227.17.22]:56161) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZpCB3-0000uF-Q0 for bug-gnu-emacs@gnu.org; Thu, 22 Oct 2015 05:28:54 -0400 Original-Received: from rosalinde ([89.245.74.133]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0MNIO5-1ZrgDK1SRd-006uhT for ; Thu, 22 Oct 2015 11:28:52 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux) X-Provags-ID: V03:K0:0ePUL6tH6quOspAEsEz5bsuSMJ7IXTjV5vZS+YVw7mEUkyFdt35 VwgFdOm8nzt+AUBu2K2dCL/3cHK8HuPF2iIIOngypl8r1u80JUm8kS/6nGwQH+8h3i8x4th NkjZr6C8YtcXNioOvajPqMIiSVnxLyyaLixf2ugjrZ6VygrrpLy+T0fun6zs7WT/xLxLita FNAWEL+qzRIKdfTyweXUg== X-UI-Out-Filterresults: notjunk:1;V01:K0:255VDFFoEWc=:B+Aw2EpK2zLWS9qlyVYU2X dueIaRmO/s+MZerUl5qQJLkUBnp9fRNWEpsqlBHIs2oay2/MKHioN4gZtHdyILzYQL3BbeLVE 1JEzxVRdBB/YEyQ7oqXzpAO2BJvH+DbDZmiKabriSchvybqYae3gTWwdb1skgLl3bMM2Qo5Me 9tKgxauunWdhcNqIwQmXRqiqbBuOCeZDymkZUh6GxE2PISjs1A+kacyx5tMr8VBNpG6PiTE9W xtEbGQLe3czJkKnNOUS5FZSNum+XPWGaYbsEo735EUtu1tnDCP+qDScaT/rIsyoOfWOKdYfML Nm6uW9x1F0xZZNO5zi+zRyXsqoMpPHaMZKUHwHX6RfQPihHvSNZ4qc2WLVPzyhHSsn9VOJ2Cq f09IKlfTx9AxBlthoCOoRTKo3a8S4s1xnCGBaXqcrVanSZxA4q52/sgg5yleGaFl5fkRZZZ9E jnUctA/YqYu50c2Ioor7z0N5zJ1p34Z6JAHBCj8qzkywlTSG3Oan1JwwTEjdlumbaBX57lLLH ZPk8rhSGmcsYYBmKy4txB7LubbXghqBFKf60hH+fOp4S2tlqlrkIbHtpyZbdIkL4SmkiPMDy5 FXlpmbOEyLOrIdtWTqNGyqJXxqyEug72zpAvB6wd1lOpkRSOGAE06wo14MGAU/Z58qC5WzLeE 2pBj2D3HztZoZXc0PXSs5ORV04grMEuC7iRhadtIdz7LGkZDxyhsBzKbDuawRE6xUAJMqJIjd 90ee7+4M+b5wABqzEo5GDmUBKrYfWh/BSrKMVPhbqoc0UFcVpXvv8MG9BaM= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:107835 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I tried to send an email with Gnus to an address containing an umlaut ('=C3=A4') in the domain name, and it failed with the error "Sending failed: 501 Syntax error in parameters or arguments". When I tried sending the same email to the same address using the GMX webmail interface, it succeeded. A copy of the sent email showed an address containing only ascii characters instead of the address with the umlaut, so I assume the latter is aliased to the former and GMX automatically found this. It would be nice if smtpmail.el could do the same thing instead of erroring out. I can reproduce the same error using the fake address (backtrace attached). In GNU Emacs 25.0.50.3 (x86_64-suse-linux-gnu, GTK+ Version 3.14.15) of 2015-10-16 Repository revision: b0d190fbe2cd4a092fa186b3d674ec89ff000776 Windowing system distributor 'The X.Org Foundation', version 11.0.11601000 System Description: openSUSE 13.2 (Harlequin) (x86_64) Configured using: 'configure 'CFLAGS=3D-Og -g3'' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GCONF GSETTINGS NOTIFY GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=3Dibus locale-coding-system: utf-8-unix Major mode: Message Minor modes in effect: diff-auto-refine-mode: t gnus-message-citation-mode: t mml-mode: t show-paren-mode: t recentf-mode: t shell-dirtrack-mode: t display-time-mode: t tooltip-mode: t global-eldoc-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t temp-buffer-resize-mode: t column-number-mode: t line-number-mode: t auto-fill-function: message-do-auto-fill abbrev-mode: t Recent messages: Back to top level Mark set Address =E2=80=98stephen.berman@gmx.n=C3=A4t=E2=80=99 (stephen.berman@ =3D?= utf-8?Q?gmx=3D2En=3DC3=3DA4t?=3D) might be bogus. Continue? (y or n) y Sending... Mark set [2 times] Sending via mail... Entering debugger... Auto-saving...done Making completion list... Scanning for dabbrevs...done Load-path shadows: None found. Features: (shadow emacsbug mm-archive gnus-dup misearch multi-isearch find-dired grep eieio-opt speedbar sb-image ezimage dframe edebug vc vc-dispatcher vc-git diff-mode find-func debug mailalias smtpmail sendmail jka-compr gnus-dired dabbrev nnir qp sort smiley gnus-cite mail-extr gnus-async gnus-bcklg gnus-ml disp-table gnus-topic cursor-sensor nndraft nnmh nnfolder gnutls network-stream nsm starttls gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig mailcap nntp gnus-cache gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range message dired-x dired rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus gnus-ems nnheader mail-utils edmacro kmacro view cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs face-remap appt tramp-gvfs zeroconf url-util url-parse url-vars dbus xml tramp-cache tramp-sh tramp tramp-compat auth-source cl-seq eieio eieio-core cl-macs gnus-util mm-util help-fns mail-prsvr password-cache tramp-loaddefs trampver srb-light-theme paren recentf tree-widget wid-edit cus-start cus-load srb-cal+diary+appt todo-mode diary-lib diary-loaddefs cal-menu calendar cal-loaddefs ido seq byte-opt gv bytecomp byte-compile cconv cl-extra help-mode ess-toolbar ess-mouse mouseme browse-url ess-menu ess-swv ess-noweb ess-noweb-font-lock-mode ess-bugs-l essd-els ess-sas-d ess-sas-l ess-sas-a shell pcomplete ess-sta-d ess-sta-l cc-vars cc-defs cl-loaddefs cl-lib make-regexp ess-sp6-d ess-sp3-d ess-julia ess-r-d compile ess-tracebug format-spec ess-roxy hideshow ess-help ess-developer ess-r-args ess-s-l ess ess-inf comint ansi-color ring ess-mode ess-noweb-mode ess-utils ess-custom executable ess-compat ess-site advice preview-latex tex-site auto-loads w3m-load bbdb-loaddefs srb-recentf srb-mode-line time noutline outline flotte-karotte srb-misc thingatpt pcase easy-mmode finder-inf package easymenu epg-config time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 354322 68420) (symbols 48 53391 23) (miscs 40 364 966) (strings 32 97674 12934) (string-bytes 1 3264178) (vectors 16 40955) (vector-slots 8 1499368 196903) (floats 8 1015 386) (intervals 56 4237 595) (buffers 976 52) (heap 1024 93673 37196)) --=-=-= Content-Type: text/plain Content-Disposition: attachment Content-Transfer-Encoding: quoted-printable Content-Description: backtrace Debugger entered--Lisp error: (error "Sending failed: 501 Syntax error in p= arameters or arguments") signal(error ("Sending failed: 501 Syntax error in parameters or argument= s")) error("Sending failed: %s" "501 Syntax error in parameters or arguments") (progn (error "Sending failed: %s" result)) (if (setq result (smtpmail-via-smtp smtpmail-recipient-address-list tembu= f)) (progn (error "Sending failed: %s" result))) (if (not (null smtpmail-recipient-address-list)) (if (setq result (smtpma= il-via-smtp smtpmail-recipient-address-list tembuf)) (progn (error "Sending= failed: %s" result))) (error "Sending failed; no recipients")) (if (not smtpmail-queue-mail) (if (not (null smtpmail-recipient-address-l= ist)) (if (setq result (smtpmail-via-smtp smtpmail-recipient-address-list t= embuf)) (progn (error "Sending failed: %s" result))) (error "Sending failed= ; no recipients")) (let* ((file-data (expand-file-name (format "%s_%i" (for= mat-time-string "%Y-%m-%d_%H:%M:%S") (setq smtpmail-queue-counter (1+ smtpm= ail-queue-counter))) smtpmail-queue-dir)) (file-data (convert-standard-file= name file-data)) (file-elisp (concat file-data ".el")) (buffer-data (create= -file-buffer file-data)) (buffer-elisp (create-file-buffer file-elisp)) (bu= ffer-scratch "*queue-mail*")) (if (file-exists-p smtpmail-queue-dir) nil (m= ake-directory smtpmail-queue-dir t)) (save-current-buffer (set-buffer buffe= r-data) (erase-buffer) (set-buffer-file-coding-system (coding-system-change= -eol-conversion (or smtpmail-code-conv-from (quote undecided)) (quote unix)= ) nil t) (insert-buffer-substring tembuf) (write-file file-data) (set-buffe= r buffer-elisp) (erase-buffer) (insert (concat "(setq smtpmail-recipient-ad= dress-list '" (prin1-to-string smtpmail-recipient-address-list) ")\n")) (wr= ite-file file-elisp) (set-buffer (generate-new-buffer buffer-scratch)) (ins= ert (concat file-data "\n")) (append-to-file (point-min) (point-max) (expan= d-file-name smtpmail-queue-index-file smtpmail-queue-dir))) (kill-buffer bu= ffer-scratch) (kill-buffer buffer-data) (kill-buffer buffer-elisp))) (save-current-buffer (set-buffer tembuf) (erase-buffer) (set-buffer-file-= coding-system smtpmail-code-conv-from nil t) (insert-buffer-substring mailb= uf) (goto-char (point-max)) (or (=3D (preceding-char) 10) (insert 10)) (mai= l-sendmail-undelimit-header) (setq delimline (point-marker)) (if mail-alias= es (expand-mail-aliases (point-min) delimline)) (goto-char (point-min)) (wh= ile (and (re-search-forward "\n\n\n*" delimline t) (< (point) delimline)) (= replace-match "\n")) (let ((case-fold-search t)) (goto-char (point-min)) (i= f (re-search-forward "^Subject:\\([ ]*\n\\)+\\b" delimline t) (replace-mat= ch "") (if (and (re-search-forward "^Subject:\\([ ]*\n\\)+" delimline t) (= =3D (match-end 0) delimline)) (replace-match ""))) (goto-char (point-min)) = (if (not (re-search-forward "^From:" delimline t)) (let* ((login smtpmail-m= ail-address) (fullname (user-full-name))) (cond ((eq mail-from-style (quote= angles)) (insert "From: " fullname) (let (... ...) (goto-char fullname-sta= rt) (if ... ...)) (insert " <" login ">\n")) ((eq mail-from-style (quote pa= rens)) (insert "From: " login " (") (let (...) (insert fullname) (let ... .= .. ... ... ...)) (insert ")\n")) ((null mail-from-style) (insert "From: " l= ogin "\n"))))) (goto-char (point-min)) (if (re-search-forward "^Message-Id:= " delimline t) nil (insert "Message-Id: " (message-make-message-id) "\n")) = (goto-char (point-min)) (if (re-search-forward "^Date:" delimline t) nil (i= nsert "Date: " (message-make-date) "\n")) (let (charset) (goto-char (point-= min)) (and (eq mail-send-nonascii (quote mime)) (not (re-search-forward "^M= IME-version:" delimline t)) (progn (skip-chars-forward "=00-") (/=3D (poin= t) (point-max))) smtpmail-code-conv-from (setq charset (coding-system-get s= mtpmail-code-conv-from (quote mime-charset))) (goto-char delimline) (insert= "MIME-version: 1.0\n" "Content-type: text/plain; charset=3D" (symbol-name = charset) "\nContent-Transfer-Encoding: 8bit\n"))) (goto-char (1+ delimline)= ) (if (eval mail-mailer-swallows-blank-line) (newline)) (goto-char (point-m= in)) (if (re-search-forward "^FCC:" delimline t) (let ((coding-system-for-w= rite (coding-system-change-eol-conversion smtpmail-code-conv-from (quote un= ix)))) (mail-do-fcc delimline))) (if mail-interactive (save-current-buffer = (set-buffer errbuf) (erase-buffer)))) (mail-encode-header (point-min) delim= line) (setq smtpmail-address-buffer (generate-new-buffer "*smtp-mail*")) (s= etq smtpmail-recipient-address-list (smtpmail-deduce-address-list tembuf (p= oint-min) delimline)) (kill-buffer smtpmail-address-buffer) (smtpmail-do-bc= c delimline) (if (not smtpmail-queue-mail) (if (not (null smtpmail-recipien= t-address-list)) (if (setq result (smtpmail-via-smtp smtpmail-recipient-add= ress-list tembuf)) (progn (error "Sending failed: %s" result))) (error "Sen= ding failed; no recipients")) (let* ((file-data (expand-file-name (format "= %s_%i" (format-time-string "%Y-%m-%d_%H:%M:%S") (setq smtpmail-queue-counte= r ...)) smtpmail-queue-dir)) (file-data (convert-standard-filename file-dat= a)) (file-elisp (concat file-data ".el")) (buffer-data (create-file-buffer = file-data)) (buffer-elisp (create-file-buffer file-elisp)) (buffer-scratch = "*queue-mail*")) (if (file-exists-p smtpmail-queue-dir) nil (make-directory= smtpmail-queue-dir t)) (save-current-buffer (set-buffer buffer-data) (eras= e-buffer) (set-buffer-file-coding-system (coding-system-change-eol-conversi= on (or smtpmail-code-conv-from (quote undecided)) (quote unix)) nil t) (ins= ert-buffer-substring tembuf) (write-file file-data) (set-buffer buffer-elis= p) (erase-buffer) (insert (concat "(setq smtpmail-recipient-address-list '"= (prin1-to-string smtpmail-recipient-address-list) ")\n")) (write-file file= -elisp) (set-buffer (generate-new-buffer buffer-scratch)) (insert (concat f= ile-data "\n")) (append-to-file (point-min) (point-max) (expand-file-name s= mtpmail-queue-index-file smtpmail-queue-dir))) (kill-buffer buffer-scratch)= (kill-buffer buffer-data) (kill-buffer buffer-elisp)))) (unwind-protect (save-current-buffer (set-buffer tembuf) (erase-buffer) (= set-buffer-file-coding-system smtpmail-code-conv-from nil t) (insert-buffer= -substring mailbuf) (goto-char (point-max)) (or (=3D (preceding-char) 10) (= insert 10)) (mail-sendmail-undelimit-header) (setq delimline (point-marker)= ) (if mail-aliases (expand-mail-aliases (point-min) delimline)) (goto-char = (point-min)) (while (and (re-search-forward "\n\n\n*" delimline t) (< (poin= t) delimline)) (replace-match "\n")) (let ((case-fold-search t)) (goto-char= (point-min)) (if (re-search-forward "^Subject:\\([ ]*\n\\)+\\b" delimline= t) (replace-match "") (if (and (re-search-forward "^Subject:\\([ ]*\n\\)+= " delimline t) (=3D (match-end 0) delimline)) (replace-match ""))) (goto-ch= ar (point-min)) (if (not (re-search-forward "^From:" delimline t)) (let* ((= login smtpmail-mail-address) (fullname (user-full-name))) (cond ((eq mail-f= rom-style ...) (insert "From: " fullname) (let ... ... ...) (insert " <" lo= gin ">\n")) ((eq mail-from-style ...) (insert "From: " login " (") (let ...= ... ...) (insert ")\n")) ((null mail-from-style) (insert "From: " login "\= n"))))) (goto-char (point-min)) (if (re-search-forward "^Message-Id:" delim= line t) nil (insert "Message-Id: " (message-make-message-id) "\n")) (goto-c= har (point-min)) (if (re-search-forward "^Date:" delimline t) nil (insert "= Date: " (message-make-date) "\n")) (let (charset) (goto-char (point-min)) (= and (eq mail-send-nonascii (quote mime)) (not (re-search-forward "^MIME-ver= sion:" delimline t)) (progn (skip-chars-forward "=00-") (/=3D (point) (poi= nt-max))) smtpmail-code-conv-from (setq charset (coding-system-get smtpmail= -code-conv-from (quote mime-charset))) (goto-char delimline) (insert "MIME-= version: 1.0\n" "Content-type: text/plain; charset=3D" (symbol-name charset= ) "\nContent-Transfer-Encoding: 8bit\n"))) (goto-char (1+ delimline)) (if (= eval mail-mailer-swallows-blank-line) (newline)) (goto-char (point-min)) (i= f (re-search-forward "^FCC:" delimline t) (let ((coding-system-for-write (c= oding-system-change-eol-conversion smtpmail-code-conv-from ...))) (mail-do-= fcc delimline))) (if mail-interactive (save-current-buffer (set-buffer errb= uf) (erase-buffer)))) (mail-encode-header (point-min) delimline) (setq smtp= mail-address-buffer (generate-new-buffer "*smtp-mail*")) (setq smtpmail-rec= ipient-address-list (smtpmail-deduce-address-list tembuf (point-min) deliml= ine)) (kill-buffer smtpmail-address-buffer) (smtpmail-do-bcc delimline) (if= (not smtpmail-queue-mail) (if (not (null smtpmail-recipient-address-list))= (if (setq result (smtpmail-via-smtp smtpmail-recipient-address-list tembuf= )) (progn (error "Sending failed: %s" result))) (error "Sending failed; no = recipients")) (let* ((file-data (expand-file-name (format "%s_%i" ... ...) = smtpmail-queue-dir)) (file-data (convert-standard-filename file-data)) (fil= e-elisp (concat file-data ".el")) (buffer-data (create-file-buffer file-dat= a)) (buffer-elisp (create-file-buffer file-elisp)) (buffer-scratch "*queue-= mail*")) (if (file-exists-p smtpmail-queue-dir) nil (make-directory smtpmai= l-queue-dir t)) (save-current-buffer (set-buffer buffer-data) (erase-buffer= ) (set-buffer-file-coding-system (coding-system-change-eol-conversion (or s= mtpmail-code-conv-from ...) (quote unix)) nil t) (insert-buffer-substring t= embuf) (write-file file-data) (set-buffer buffer-elisp) (erase-buffer) (ins= ert (concat "(setq smtpmail-recipient-address-list '" (prin1-to-string smtp= mail-recipient-address-list) ")\n")) (write-file file-elisp) (set-buffer (g= enerate-new-buffer buffer-scratch)) (insert (concat file-data "\n")) (appen= d-to-file (point-min) (point-max) (expand-file-name smtpmail-queue-index-fi= le smtpmail-queue-dir))) (kill-buffer buffer-scratch) (kill-buffer buffer-d= ata) (kill-buffer buffer-elisp)))) (kill-buffer tembuf) (if (bufferp errbuf= ) (kill-buffer errbuf))) (let ((errbuf (if mail-interactive (generate-new-buffer " smtpmail errors= ") 0)) (tembuf (generate-new-buffer " smtpmail temp")) (case-fold-search ni= l) delimline result (mailbuf (current-buffer)) (smtpmail-mail-address (or (= and mail-specify-envelope-from (mail-envelope-from)) (let ((from (mail-fetc= h-field "from"))) (and from (car (cdr ...)))) (smtpmail-user-mail-address))= ) (smtpmail-code-conv-from (if enable-multibyte-characters (let ((sendmail-= coding-system smtpmail-code-conv-from)) (select-message-coding-system))))) = (unwind-protect (save-current-buffer (set-buffer tembuf) (erase-buffer) (se= t-buffer-file-coding-system smtpmail-code-conv-from nil t) (insert-buffer-s= ubstring mailbuf) (goto-char (point-max)) (or (=3D (preceding-char) 10) (in= sert 10)) (mail-sendmail-undelimit-header) (setq delimline (point-marker)) = (if mail-aliases (expand-mail-aliases (point-min) delimline)) (goto-char (p= oint-min)) (while (and (re-search-forward "\n\n\n*" delimline t) (< (point)= delimline)) (replace-match "\n")) (let ((case-fold-search t)) (goto-char (= point-min)) (if (re-search-forward "^Subject:\\([ ]*\n\\)+\\b" delimline t= ) (replace-match "") (if (and (re-search-forward "^Subject:\\([ ]*\n\\)+" = delimline t) (=3D ... delimline)) (replace-match ""))) (goto-char (point-mi= n)) (if (not (re-search-forward "^From:" delimline t)) (let* ((login smtpma= il-mail-address) (fullname ...)) (cond (... ... ... ...) (... ... ... ...) = (... ...)))) (goto-char (point-min)) (if (re-search-forward "^Message-Id:" = delimline t) nil (insert "Message-Id: " (message-make-message-id) "\n")) (g= oto-char (point-min)) (if (re-search-forward "^Date:" delimline t) nil (ins= ert "Date: " (message-make-date) "\n")) (let (charset) (goto-char (point-mi= n)) (and (eq mail-send-nonascii (quote mime)) (not (re-search-forward "^MIM= E-version:" delimline t)) (progn (skip-chars-forward "=00-") (/=3D ... ...= )) smtpmail-code-conv-from (setq charset (coding-system-get smtpmail-code-c= onv-from ...)) (goto-char delimline) (insert "MIME-version: 1.0\n" "Content= -type: text/plain; charset=3D" (symbol-name charset) "\nContent-Transfer-En= coding: 8bit\n"))) (goto-char (1+ delimline)) (if (eval mail-mailer-swallow= s-blank-line) (newline)) (goto-char (point-min)) (if (re-search-forward "^F= CC:" delimline t) (let ((coding-system-for-write ...)) (mail-do-fcc delimli= ne))) (if mail-interactive (save-current-buffer (set-buffer errbuf) (erase-= buffer)))) (mail-encode-header (point-min) delimline) (setq smtpmail-addres= s-buffer (generate-new-buffer "*smtp-mail*")) (setq smtpmail-recipient-addr= ess-list (smtpmail-deduce-address-list tembuf (point-min) delimline)) (kill= -buffer smtpmail-address-buffer) (smtpmail-do-bcc delimline) (if (not smtpm= ail-queue-mail) (if (not (null smtpmail-recipient-address-list)) (if (setq = result (smtpmail-via-smtp smtpmail-recipient-address-list tembuf)) (progn (= error "Sending failed: %s" result))) (error "Sending failed; no recipients"= )) (let* ((file-data (expand-file-name ... smtpmail-queue-dir)) (file-data = (convert-standard-filename file-data)) (file-elisp (concat file-data ".el")= ) (buffer-data (create-file-buffer file-data)) (buffer-elisp (create-file-b= uffer file-elisp)) (buffer-scratch "*queue-mail*")) (if (file-exists-p smtp= mail-queue-dir) nil (make-directory smtpmail-queue-dir t)) (save-current-bu= ffer (set-buffer buffer-data) (erase-buffer) (set-buffer-file-coding-system= (coding-system-change-eol-conversion ... ...) nil t) (insert-buffer-substr= ing tembuf) (write-file file-data) (set-buffer buffer-elisp) (erase-buffer)= (insert (concat "(setq smtpmail-recipient-address-list '" ... ")\n")) (wri= te-file file-elisp) (set-buffer (generate-new-buffer buffer-scratch)) (inse= rt (concat file-data "\n")) (append-to-file (point-min) (point-max) (expand= -file-name smtpmail-queue-index-file smtpmail-queue-dir))) (kill-buffer buf= fer-scratch) (kill-buffer buffer-data) (kill-buffer buffer-elisp)))) (kill-= buffer tembuf) (if (bufferp errbuf) (kill-buffer errbuf)))) smtpmail-send-it() message-multi-smtp-send-mail() gnus-agent-send-mail() message-send-mail(nil) message-send-via-mail(nil) message-send(nil) message-send-and-exit(nil) funcall-interactively(message-send-and-exit nil) call-interactively(message-send-and-exit nil nil) command-execute(message-send-and-exit) --=-=-=--