Function: define-mail-user-agent
define-mail-user-agent is a byte-compiled function defined in
subr.el.gz.
Signature
(define-mail-user-agent SYMBOL COMPOSEFUNC SENDFUNC &optional ABORTFUNC HOOKVAR)
Documentation
Define a symbol to identify a mail-sending package for mail-user-agent.
SYMBOL can be any Lisp symbol. Its function definition and/or value as a variable do not matter for this usage; we use only certain properties on its property list, to encode the rest of the arguments.
COMPOSEFUNC is program callable function that composes an outgoing
mail message buffer. This function should set up the basics of the
buffer without requiring user interaction. It should populate the
standard mail headers, leaving the to: and subject: headers blank
by default.
COMPOSEFUNC should accept several optional arguments--the same
arguments that compose-mail takes. See that function's documentation.
SENDFUNC is the command a user would run to send the message.
Optional ABORTFUNC is the command a user would run to abort the
message. For mail packages that don't have a separate abort function,
this can be kill-buffer (the equivalent of omitting this argument).
Optional HOOKVAR is a hook variable that gets run before the message
is actually sent. Callers that use the mail-user-agent may
install a hook function temporarily on this hook variable.
If HOOKVAR is nil, mail-send-hook is used.
The properties used on SYMBOL are composefunc, sendfunc,
abortfunc, and hookvar.
Source Code
;; Defined in /usr/src/emacs/lisp/subr.el.gz
;;;; Mail user agents.
;; Here we include just enough for other packages to be able
;; to define them.
(defun define-mail-user-agent (symbol composefunc sendfunc
&optional abortfunc hookvar)
"Define a symbol to identify a mail-sending package for `mail-user-agent'.
SYMBOL can be any Lisp symbol. Its function definition and/or
value as a variable do not matter for this usage; we use only certain
properties on its property list, to encode the rest of the arguments.
COMPOSEFUNC is program callable function that composes an outgoing
mail message buffer. This function should set up the basics of the
buffer without requiring user interaction. It should populate the
standard mail headers, leaving the `to:' and `subject:' headers blank
by default.
COMPOSEFUNC should accept several optional arguments--the same
arguments that `compose-mail' takes. See that function's documentation.
SENDFUNC is the command a user would run to send the message.
Optional ABORTFUNC is the command a user would run to abort the
message. For mail packages that don't have a separate abort function,
this can be `kill-buffer' (the equivalent of omitting this argument).
Optional HOOKVAR is a hook variable that gets run before the message
is actually sent. Callers that use the `mail-user-agent' may
install a hook function temporarily on this hook variable.
If HOOKVAR is nil, `mail-send-hook' is used.
The properties used on SYMBOL are `composefunc', `sendfunc',
`abortfunc', and `hookvar'."
(declare (indent defun))
(put symbol 'composefunc composefunc)
(put symbol 'sendfunc sendfunc)
(put symbol 'abortfunc (or abortfunc #'kill-buffer))
(put symbol 'hookvar (or hookvar 'mail-send-hook)))