+(defun wl-draft-attribute-recipients ()
+ (concat (mapconcat
+ 'identity
+ (wl-draft-deduce-address-list
+ (current-buffer)
+ (point-min)
+ (save-excursion
+ (goto-char (point-min))
+ (re-search-forward
+ (concat
+ "^"
+ (regexp-quote mail-header-separator)
+ "$")
+ nil t)
+ (point)))
+ ", ")))
+
+(defun wl-draft-attribute-envelope-from ()
+ (or wl-envelope-from
+ (wl-address-header-extract-address wl-from)))
+
+(defun wl-draft-attribute-smtp-posting-server ()
+ (or wl-smtp-posting-server
+ (progn (require 'smtp) smtp-server)
+ "localhost"))
+
+(defun wl-draft-attribute-smtp-posting-port ()
+ (or wl-smtp-posting-port
+ (progn (require 'smtp) smtp-service)))
+
+(defun wl-draft-attribute-value (attr)
+ (let ((name (symbol-name attr))
+ fsymbol symbol)
+ (cond ((and (setq fsymbol (intern-soft
+ (format "wl-draft-attribute-%s" name)))
+ (fboundp fsymbol))
+ (funcall fsymbol))
+ ((and (setq symbol (intern-soft (format "wl-%s" name)))
+ (boundp symbol))
+ (symbol-value symbol))
+ ((boundp attr)
+ (symbol-value attr)))))
+