(match-string 2 long-string)
"unknown")))
-(defun notmuch-database-path ()
- "Return the database.path value from the notmuch configuration."
+(defun notmuch-config-get (item)
+ "Return a value from the notmuch configuration."
;; Trim off the trailing newline
(substring (shell-command-to-string
- (concat notmuch-command " config get database.path"))
+ (concat notmuch-command " config get " item))
0 -1))
+(defun notmuch-database-path ()
+ "Return the database.path value from the notmuch configuration."
+ (notmuch-config-get "database.path"))
+
+(defun notmuch-user-name ()
+ "Return the user.name value from the notmuch configuration."
+ (notmuch-config-get "user.name"))
+
+(defun notmuch-user-primary-email ()
+ "Return the user.primary_email value from the notmuch configuration."
+ (notmuch-config-get "user.primary_email"))
+
;;
;; XXX: This should be a generic function in emacs somewhere, not
(when (not (string= "" user-agent))
(push (cons "User-Agent" user-agent) other-headers))))
+ (unless (assoc "From" other-headers)
+ (push (cons "From" (concat
+ (notmuch-user-name) " <" (notmuch-user-primary-email) ">")) other-headers))
+
(message-mail to subject other-headers continue
switch-function yank-action send-actions)
(message-sort-headers)
test_emacs "(setq message-send-mail-function 'message-smtpmail-send-it) (setq smtpmail-smtp-server \"localhost\") (setq smtpmail-smtp-service \"25025\") (notmuch-hello) (notmuch-mua-mail) (message-goto-to) (insert \"user@example.com\") (message-goto-subject) (insert \"Testing message sent via SMTP\") (message-goto-body) (insert \"This is a test that messages are sent via SMTP\") (message-send-and-exit)" >/dev/null 2>&1
wait ${smtp_dummy_pid}
-# XXX: Masking away the User-Agent, Date, and Message-ID makes sense,
-# since these fields are inherently unpredictable. But doing the same
-# thing with the From address is cheating. What should really be
-# happening here is that the emacs interface should be using something
-# like "notmuch compose" to construct the initial message and it
-# should be getting the user's name and email address from the notmuch
-# configuration file.
-
-output=$(sed -e 's,^From: .*,From: XXX,' \
+output=$(sed \
-e s',^User-Agent: Notmuch/.* Emacs/.*,User-Agent: Notmuch/XXX Emacs/XXX,' \
-e s',^Date:.*,Date: XXX,' \
-e s',^Message-ID: <.*>$,Message-ID: <XXX>,' < sent_message)
-test_expect_equal "$output" "From: XXX
+test_expect_equal "$output" "From: Notmuch Test Suite <test_suite@notmuchmail.org>
To: user@example.com
Subject: Testing message sent via SMTP
User-Agent: Notmuch/XXX Emacs/XXX