+2002-04-26 Sam Steingold <sds@gnu.org>
+
+ * mail/smtpmail.el (smtpmail-try-auth-methods): When `host' is
+ not in the authinfo/netrc, keep `cred' at nil.
+
2002-04-26 Gerd Moellmann <gerd@gnu.org>
* find-file.el: Remove Ada-specific example code.
2002-04-25 Michael Kifer <kifer@cs.stonybrook.edu>
-
+
* ediff-hooks.el: Put back the autoloads.
-
+
2002-04-25 Colin Walters <walters@verbum.org>
* ibuffer.el (define column process): Use `ibuffer-aif'.
`save-selected-window'.
(ibuffer-mode): Make `ibuffer-filtering-groups' and
`ibuffer-hidden-filtering-groups' buffer-local.
-
+
* ibuf-macs.el (ibuffer-save-marks): Call
`ibuffer-redisplay-engine'.
2002-04-24 Eli Zaretskii <eliz@is.elta.co.il>
- * menu-bar.el (menu-bar-adv-search-menu)
+ * menu-bar.el (menu-bar-adv-search-menu)
(menu-bar-adv-search-menu): Improve the help text.
2002-04-24 Simon Josefsson <jas@extundo.com>
2002-04-24 Miles Bader <miles@gnu.org>
- * menu-bar.el (buffers-menu-show-directories)
+ * menu-bar.el (buffers-menu-show-directories)
(buffers-menu-show-status): New variables.
(menu-bar-update-buffers-1): Use them.
(occur-fontify-on-property): New function.
(occur-fontify-region-function, occur-unfontify-region-function):
New functions.
-
+
* ibuffer.el (ibuffer-accumulate-lines): Moved to replace.el.
-
+
* ibuf-ext.el (ibuffer-depropertize-string): Delete.
(ibuffer-occur-match-face): Delete.
(ibuffer-occur-props, ibuffer-occur-mode): Delete.
;;(setq smtpmail-starttls-credentials
;; '(("YOUR SMTP HOST" 25 "~/.my_smtp_tls.key" "~/.my_smtp_tls.cert")))
-;; To queue mail, set smtpmail-queue-mail to t and use
+;; To queue mail, set smtpmail-queue-mail to t and use
;; smtpmail-send-queued-mail to send.
;; Modified by Stephen Cranefield <scranefield@infoscience.otago.ac.nz>,
:type '(choice (const nil) string)
:group 'smtpmail)
-(defcustom smtpmail-smtp-server
+(defcustom smtpmail-smtp-server
(or (getenv "SMTPSERVER") smtpmail-default-smtp-server)
"*The name of the host running SMTP server."
:type '(choice (const nil) string)
:type 'boolean
:group 'smtpmail)
-(defcustom smtpmail-queue-mail nil
+(defcustom smtpmail-queue-mail nil
"*Specify if mail is queued (if t) or sent immediately (if nil).
If queued, it is stored in the directory `smtpmail-queue-dir'
and sent with `smtpmail-send-queued-mail'."
;; ... then undo escaping of matching parentheses,
;; including matching nested parentheses.
(goto-char fullname-start)
- (while (re-search-forward
+ (while (re-search-forward
"\\(\\=\\|[^\\]\\(\\\\\\\\\\)*\\)\\\\(\\(\\([^\\]\\|\\\\\\\\\\)*\\)\\\\)"
fullname-end 1)
(replace-match "\\1(\\3)" t)
(setq smtpmail-recipient-address-list
(smtpmail-deduce-address-list tembuf (point-min) delimline))
(kill-buffer smtpmail-address-buffer)
-
+
(smtpmail-do-bcc delimline)
; Send or queue
(if (not smtpmail-queue-mail)
(if (not (null smtpmail-recipient-address-list))
- (if (not (smtpmail-via-smtp
+ (if (not (smtpmail-via-smtp
smtpmail-recipient-address-list tembuf))
(error "Sending failed; SMTP protocol error"))
(error "Sending failed; no recipients"))
- (let* ((file-data (concat
+ (let* ((file-data (concat
smtpmail-queue-dir
(concat (time-stamp-yyyy-mm-dd)
"_" (time-stamp-hh:mm:ss)
(insert (concat
"(setq smtpmail-recipient-address-list '"
(prin1-to-string smtpmail-recipient-address-list)
- ")\n"))
+ ")\n"))
(write-file file-elisp)
(set-buffer (generate-new-buffer buffer-scratch))
(insert (concat file-data "\n"))
- (append-to-file (point-min)
- (point-max)
+ (append-to-file (point-min)
+ (point-max)
smtpmail-queue-index)
)
(kill-buffer buffer-scratch)
(mech (car (smtpmail-intersection smtpmail-auth-supported mechs)))
(cred (if (stringp smtpmail-auth-credentials)
(let* ((netrc (netrc-parse smtpmail-auth-credentials))
- (hostentry (netrc-machine
+ (hostentry (netrc-machine
netrc host (format "%s" (or port "smtp"))
"smtp")))
- (list host port
- (netrc-get hostentry "login")
- (netrc-get hostentry "password")))
+ (when hostentry
+ (list host port
+ (netrc-get hostentry "login")
+ (netrc-get hostentry "password"))))
(smtpmail-find-credentials
smtpmail-auth-credentials host port)))
(passwd (when cred
(>= (car ret) 400))
(throw 'done nil)))
(t
- (error "Mechanism %s not implemented" mech)))
+ (error "Mechanism %s not implemented" mech)))
;; Remember the password.
(when (and (not (stringp smtpmail-auth-credentials))
(null (smtpmail-cred-passwd cred)))
(make-local-variable 'smtpmail-read-point)
(setq smtpmail-read-point (point-min))
-
+
(if (or (null (car (setq greeting (smtpmail-read-response process))))
(not (integerp (car greeting)))
(>= (car greeting) 400))
(starttls-negotiate process)
(setq do-starttls nil))
(setq do-ehlo nil))))
-
+
(smtpmail-try-auth-methods process supported-extensions host port)
(if (or (member 'onex supported-extensions)
(>= (car response-code) 400))
(throw 'done nil)
))
-
+
;; RCPT TO: <recipient>
(let ((n 0))
(while (not (null (nth n recipient)))
(throw 'done nil)
)
))
-
+
;; DATA
(smtpmail-send-command process "DATA")
(setq response-strings
(cons (buffer-substring smtpmail-read-point (- match-end 2))
response-strings))
-
+
(goto-char smtpmail-read-point)
(if (looking-at "[0-9]+ ")
(let ((begin (match-beginning 0))
nil
(setq response-continue nil)
(setq return-value
- (cons (string-to-int
- (buffer-substring begin end))
+ (cons (string-to-int
+ (buffer-substring begin end))
(nreverse response-strings)))))
-
+
(if (looking-at "[0-9]+-")
(progn (if smtpmail-debug-info
(message "%s" (car response-strings)))
(progn
(setq smtpmail-read-point match-end)
(setq response-continue nil)
- (setq return-value
+ (setq return-value
(cons nil (nreverse response-strings)))
)
)))
smtpmail-code-conv-from)
(setq data (string-as-multibyte
(encode-coding-string data smtpmail-code-conv-from))))
-
+
(if smtpmail-debug-info
(insert data "\r\n"))
)
)
)
-
+
(defun smtpmail-deduce-address-list (smtpmail-text-buffer header-start header-end)
"Get address list suitable for smtp RCPT TO: <address>."