;ELC   
;;; Compiled by rms@psilocin.ai.mit.edu on Mon May 18 23:29:19 1998
;;; from file /gd/gnu/emacs/lisp/mail/smtpmail.el
;;; in Emacs version 20.2.93.12
;;; with bytecomp version 2.44
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`smtpmail.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\301\302!\210\301\303!\210\304\305\306\307\310%\207" [:group require sendmail time-stamp custom-declare-group smtpmail nil "SMTP protocol for sending mail." mail] 6)
#@31 *Specify default SMTP server.
(custom-declare-variable 'smtpmail-default-smtp-server 'nil '(#$ . -789) :type '(choice (const nil) string) :group 'smtpmail)
#@44 *The name of the host running SMTP server.
(custom-declare-variable 'smtpmail-smtp-server '(or (getenv "SMTPSERVER") smtpmail-default-smtp-server) '(#$ . -951) :type '(choice (const nil) string) :group 'smtpmail)
#@41 *SMTP service port number. smtp or 25 .
(custom-declare-variable 'smtpmail-smtp-service '25 '(#$ . -1170) :type 'integer :group 'smtpmail)
#@131 *Local domain name without a host name.
If the function (system-name) returns the full internet address,
don't define this value.
(custom-declare-variable 'smtpmail-local-domain 'nil '(#$ . -1316) :type '(choice (const nil) string) :group 'smtpmail)
#@61 *smtpmail debug info printout. messages and process buffer.
(custom-declare-variable 'smtpmail-debug-info 'nil '(#$ . -1572) :type 'boolean :group 'smtpmail)
#@70 *smtpmail code convert from this code to *internal*..for tiny-mime..
(custom-declare-variable 'smtpmail-code-conv-from 'nil '(#$ . -1736) :type 'boolean :group 'smtpmail)
#@170 *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'.
(custom-declare-variable 'smtpmail-queue-mail 'nil '(#$ . -1914) :type 'boolean :group 'smtpmail)
#@52 *Directory where `smtpmail.el' stores queued mail.
(custom-declare-variable 'smtpmail-queue-dir '"~/Mail/queued-mail/" '(#$ . -2187) :type 'directory :group 'smtpmail)
#@75 File name of queued mail index,
This is relative to `smtpmail-queue-dir'.
(defvar smtpmail-queue-index-file "index" (#$ . 2361))
(byte-code "\304\302!\204\n 	P\302B\304\207" [smtpmail-queue-dir smtpmail-queue-index-file smtpmail-queue-index current-load-list boundp] 2)
(defalias 'smtpmail-send-it #[nil "\306\307!\210\203 \310\311!\202 \312\310\313!\314\211p\315\216\212\fq\210\316 \210\317	!\210db\210h\320U\2043 \320c\210\321 \210\322 @\203C \323e\n\"\210eb\210\324\325\n\326#\203[ `\nW\203[ \327\330!\210\202F \326eb\210\324\331\n\326#\203o \327\332!\210\202\202 \324\333\n\326#\203\202 \312\225\nU\203\202 \327\332!\210eb\210\324\334\n\326#\2048AB\335 CD\336=\203\335 \337C\261\210e\340\\\322 E\211Fb\210\324\341E\342#\203\322 Fb\210\343c\210\324\344E\342#\203\317 \327\345\326\"\210\202\276 \343c\210*\346B\347\261\210\2027D\350=\203+\337B\351\261\210`FCc\210\322 EFb\210\324\352E\342#\203\327\345\326\"\210\202\372 Fb\210\324\353E\342#\203$\327\354\326\"\210Fb\210\202*\355c\210\2027D\2047\337B\330\261\210*\nTb\210\356G!\203F\357 \210eb\210\324\360\n\326#\203U\361\n!\210\203a\212q\210\316 \210))\310\362!H\363\fe\n#I\364H!\210\365\n!\210J\204\226I\203\220\366I\f\"?\205\n\367\370!\202\n\367\371!\202\nK\372 \373\374 QP\211L\375PM\376L!N\376M!O\377P\212Nq\210\316 \210\201R \f!\210\201S L!\210Oq\210\316 \210\201T \201U I!\355Qc\210\201S M!\210\310P!q\210L\330Pc\210\201V edQ#\210)\364P!\210\364N!\210\364O!-.\207" [mail-interactive mailbuf delimline case-fold-search tembuf errbuf require mail-utils generate-new-buffer " smtpmail errors" 0 " smtpmail temp" nil ((byte-code "\302!\210\303	!\203 \302	!\210\302\207" [tembuf errbuf kill-buffer bufferp] 2)) erase-buffer insert-buffer-substring 10 mail-sendmail-undelimit-header point-marker expand-mail-aliases re-search-forward "\n\n\n*" t replace-match "\n" "^Subject:\\([ 	]*\n\\)+\\b" "" "^Subject:\\([ 	]*\n\\)+" "^From:" user-full-name angles "From: " 6 "[^- !#-'*+/-9=?A-Z^-~]" 1 "\"" "[\"\\]" "\\\\\\&" " <" ">\n" parens " (" "[()\\]" "\\(\\=\\|[^\\]\\(\\\\\\\\\\)*\\)\\\\(\\(\\([^\\]\\|\\\\\\\\\\)*\\)\\\\)" "\\1(\\3)" ")\n" eval newline "^FCC:" mail-do-fcc "*smtp-mail*" smtpmail-deduce-address-list kill-buffer smtpmail-do-bcc smtpmail-via-smtp error "Sending failed; SMTP protocol error" "Sending failed; no recipients" time-stamp-yyyy-mm-dd "_" time-stamp-hh:mm:ss ".el" create-file-buffer "*queue-mail*" mail-aliases user-mail-address login fullname mail-from-style fullname-end fullname-start mail-mailer-swallows-blank-line smtpmail-address-buffer smtpmail-recipient-address-list smtpmail-queue-mail smtpmail-queue-dir file-data file-elisp buffer-data buffer-elisp buffer-scratch smtpmail-queue-index insert-buffer write-file "(setq smtpmail-recipient-address-list '" prin1-to-string append-to-file] 6])
#@73 Send mail that was queued as a result of setting `smtpmail-queue-mail'.
(defalias 'smtpmail-send-queued-mail #[nil "\305!\306\307\212q\210\310 \210m\204O `\212\307\210`){\311\n!\210\305\n!\f\2036 \312\f	\"\204: \313\314!\210\202: \313\315!\210\316\n!\210\316\n\317P!\210\320	!\210\321\322!\210\202 q\210\323!\210\320!,\207" [smtpmail-queue-index tembuf file-msg buffer-index smtpmail-recipient-address-list find-file-noselect "" nil beginning-of-buffer load smtpmail-via-smtp error "Sending failed; SMTP protocol error" "Sending failed; no recipients" delete-file ".el" kill-buffer kill-line 1 save-buffer] 3 (#$ . 5235) nil])
(defalias 'smtpmail-fqdn #[nil "\203\n \301 \302Q\207\301 \207" [smtpmail-local-domain system-name "."] 3])
(defalias 'smtpmail-via-smtp #[(recipient smtpmail-text-buffer) "\306	\306\211\211\211\n\f\307\216\310\311\215.\207" [smtpmail-smtp-server smtpmail-smtp-service supported-extensions process-buffer greeting response-code nil ((byte-code "\203 \212\301!q\210\302\303\"\210\304!\210\305!\210)\301\207" [process process-buffer smtpmail-send-command "QUIT" smtpmail-read-response delete-process] 3)) done (byte-code "\306\307\310\"!\212	q\210\311 \210)\312\313	\n$\211\204 \314\315\316\"\210\317\320\"\210\212	q\210\321\322\211\"\210\323\304!\210e\324!\211@\203I @\250\203I @\325Y\203N \314\315\316\"\210\326\307\327\330 \"\"\210\324!\2114@\203p 4@\250\203p 4@\325Y\203\232 \326\307\331\330 \"\"\210\324!\2114@\203\222 4@\250\203\222 4@\325Y\203\325 \314\315\316\"\210\202\325 4AA\2115\203\324 \3325@\333\316O\227!\2116\203\312 6\334>\203\304 67B7\202\312 \335\3366\"\210)5A\2115\204\244 )\3377\235\204\343 \3407\235\203\326\307\341!\"\210\324!\2114@\2034@\250\2034@\325Y\203\314\315\316\"\2108\203@\3427\235\204\3437\235\203@\326\307\344!\"\210\324!\2114@\203;4@\250\203;4@\325Y\203@\314\315\316\"\210\3457\235\203l\326\307\346!\"\210\324!\2114@\203g4@\250\203g4@\325Y\203l\314\315\316\"\210\3477\235\203\211\307\350\2129q\210deZ\351ed\"\\\352\\)\"\202\212\353\3547\235\203\225\353\202\226\353:;\326\307\355<;:$\"\210\324!\2114@\203\3004@\250\203\3004@\325Y\203\305\314\315\316\"\210*\356==>8\203\326\307\357=>8\"\"\210=T=\324!\2114@\203\3734@\250\203\3734@\325Y\203\311\314\315\316\"\210\202\311)\326\360\"\210\324!\2114@\203\"4@\250\203\"4@\325Y\203'\314\315\316\"\210\3619\"\210\326\362\"\210\324!\2114@\203K4@\250\203K4@\325Y\203P\314\315\316\"\210)\363\207" [host process-buffer port process smtpmail-read-point greeting get-buffer-create format "*trace of SMTP session to %s*" erase-buffer open-network-stream "SMTP" throw done nil set-process-filter smtpmail-process-filter set-buffer-process-coding-system raw-text-unix make-local-variable smtpmail-read-response 400 smtpmail-send-command "EHLO %s" smtpmail-fqdn "HELO %s" intern 4 (verb xvrb 8bitmime onex xone expn size dsn etrn help xusr) message "unknown extension %s" onex xone "ONEX" verb xvrb "VERB" xusr "XUSR" size " SIZE=%d" count-lines 2 "" 8bitmime "MAIL FROM: <%s>%s%s" 0 "RCPT TO: <%s>" "DATA" smtpmail-send-data "." t response-code extension-lines name supported-extensions smtpmail-debug-info smtpmail-text-buffer body-part size-part user-mail-address n recipient] 8) port host process] 7])
(defalias 'smtpmail-process-filter #[(process output) "\212\302!q\210db\210	c)\207" [process output process-buffer] 2])
(defalias 'smtpmail-read-response #[(process) "\306\211\307\310\306\n\203\210 b\210\311\312\306\307#\204$ \313!\210b\210\202 `\314Z{Bb\210\315\316!\203c \317\224\317\225\203J \320\321@\"\210\315\322!\204_ \306\323{!\237B*\202\n \315\324!\203| \203t \320\321@\"\210\307\211\202 \306\306\237B\202\n 	-\207" [match-end return-value response-continue response-strings case-fold-search smtpmail-read-point nil t (nil nil) search-forward "\n" accept-process-output 2 looking-at "[0-9]+ " 0 message "%s" "0[0-9]+ " string-to-int "[0-9]+-" process end begin smtpmail-debug-info] 6])
(defalias 'smtpmail-send-command #[(process command) "db\210\303H\304U\203 \305c\210\202 \306\261\210`\307\n\"\210\307\n\306\"\207" [command smtpmail-read-point process 0 80 "PASS <omitted>\n" "\n" process-send-string] 3])
(defalias 'smtpmail-send-data-1 #[(process data) "db\210\203 \306	\n#\203 	\307\261\210`\310	!\311=\203% \312\313\"\210\312	\"\210\312\307\"\207" [smtpmail-code-conv-from data *internal* smtpmail-debug-info smtpmail-read-point process code-convert-string "\n" string-to-char 46 process-send-string "."] 4])
(defalias 'smtpmail-send-data #[(process buffer) "\306\307\211\211\212\fq\210eb\210)\205: \212\fq\210\310y\210`\307\210`\307	{\311y\310U\2041 \307)\312\n\"\210\202 ,\207" [this-line-end this-line sending-data data-continue buffer process t nil 0 1 smtpmail-send-data-1] 4])
#@56 Get address list suitable for smtp RCPT TO: <address>.
(defalias 'smtpmail-deduce-address-list #[(smtpmail-text-buffer header-start header-end) "\306\307!\210\310\311\312\211\211\312\216\212q\210\313 \210\314\"#$#\210eb\210\212\315\316$\310#\2032 \316\2024 \317)\315$\310#\203j \320\311!\210\321\224\322y\210\323\324!\203[ `$W\203[ \322y\210\202H \325 \326\327\n	{!Q\2025 \313 \210\330\326!\210\330!\210\330\331!\210\332ed\333\334\310%\210\332ed\335\334\310%\210\332ed\336\334\310%\210eb\210\315\337$\310#\203\244 \320\326!\210\202\224 eb\210\312%\315\340d\310#\203\303 \341\322!\210\322\224\322\225{%B%\202\252 %\211&.\207" [addr-regexp this-line-end this-line simple-address-list case-fold-search smtpmail-address-buffer require mail-utils t "" nil erase-buffer insert-buffer-substring re-search-forward "^Resent-\\(to\\|cc\\|bcc\\):" "^\\(To:\\|Cc:\\|Bcc:\\)" replace-match 0 1 looking-at "^[ 	]+" point-marker " " mail-strip-quoted-names insert-string "\n" subst-char-in-region 10 32 44 9 "[ 	]+" " \\([^ ]+\\) " backward-char smtpmail-text-buffer header-start header-end recipient-address-list smtpmail-recipient-address-list] 6 (#$ . 10177)])
#@162 Delete [Resent-]BCC: and their continuation lines from the header area.
There may be multiple BCC: lines, and each may have arbitrarily
many continuation lines.
(defalias 'smtpmail-do-bcc #[(header-end) "\302\212eb\210\303\304	\302#\205) \305\224\306y\210`|\210\307\310!\203 `	W\203 \311\312!\210\202 *\207" [case-fold-search header-end t re-search-forward "^(RESENT-)?BCC:" 0 1 looking-at "^[ 	].*\n" replace-match ""] 4 (#$ . 11360)])
(provide 'smtpmail)
