X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=emacstips.mdwn;h=2b0b1d54f30300b8f29ec2dafc0b249009d50abb;hb=3321ebc8d3f4aa634965bc97c3d286a329bafc7a;hp=03bb5b60d6b9ffa185b66b8add8b3362ff973dce;hpb=1705ac358c39eb780b5cf77fd00c0e65b7876bdb;p=notmuch-wiki diff --git a/emacstips.mdwn b/emacstips.mdwn index 03bb5b6..2b0b1d5 100644 --- a/emacstips.mdwn +++ b/emacstips.mdwn @@ -218,7 +218,7 @@ displaying the count for the saved-search. For example (setq notmuch-saved-searches '((:name "inbox" :query "tag:inbox" :count-query "tag:inbox and tag:unread" - :sort-order 'oldest-first))) + :sort-order oldest-first))) specifies a single saved search for inbox, but the number displayed by the search will be the number of unread messages in the inbox, and the @@ -274,6 +274,49 @@ With that in place, you need a `.msmtprc` with the accounts configured for the domains you want to send out using specific SMTP servers and the rest will go to the default account. +## sending mail using smtpmail + + + +If setting up local `sendmail` or `msmtp` is not feasible or desirable, +the Emacs `smtpmail` package can be used to send email by talking to remote +SMTP server via TCP connection. It is pretty easy to configure: + +1. Emacs variable `message-send-mail-function` has not been set + + Initially, Emacs variable `message-send-mail-function` has value of + `sendmail-query-once`. When (notmuch) message mode is about to send email, + `sendmail-query-once` will ask how emacs should send email. Typing `smtp` + will configure `smtpmail` and Emacs may prompt for SMTP settings. + +1. `M-x customize-group RET smtpmail` + + As a minimum, 'Smtpmail Smtp Server' needs to be set. + + After doing that, continue with `M-x load-library RET message` and + `M-x customize-variable RET message-send-mail-function`. + In the customization buffer select `message-smtpmail-send-it`. + +1. Set some variables in .emacs or in [notmuch init file](/notmuch-emacs#notmuch_init_file) + + (setq smtpmail-smtp-server "smtp.server.tld" ;; <-- edit this !!! + ;; smtpmail-smtp-service 25 ;; 25 is default -- uncomment and edit if needed + ;; smtpmail-stream-type 'starttls + ;; smtpmail-debug-info t + ;; smtpmail-debug-verb t + message-send-mail-function 'message-smtpmail-send-it) + +Note that emacs 24 or newer is required for `smtpmail-stream-type` +(and smtp authentication) to be effective. + +More information for smtpmail is available: + +* In Emacs: `M-x info-display-manual smtpmail` +* [EmacsWiki Page](http://www.emacswiki.org/emacs/SendingMail) + + ## Address completion when composing There are currently three solutions to this: @@ -318,7 +361,7 @@ available: from notmuch. It also includes a vim plugin. You can perform tab-completion using any of these programs. -Just add the following to your [notmuch init file](#notmuch_init_file): +Just add the following to your [notmuch init file](/notmuch-emacs#notmuch_init_file): (require 'notmuch-address) (setq notmuch-address-command "/path/to/address_fetching_program") @@ -352,7 +395,7 @@ Enter the cloned repository and create a build directory: You will find the akonadimailsearch binary in the build/src directory. Copy it to ~/bin . You can now add the following settings to your -[notmuch init file](#notmuch_init_file): +[notmuch init file](/notmuch-emacs#notmuch_init_file): (require 'notmuch-address) (setq notmuch-address-command "~/bin/akonadimailsearch") @@ -408,7 +451,7 @@ part. Encrypted and signed mime messages can be read and verified with: - (notmuch-crypto-process-mime t) + (setq notmuch-crypto-process-mime t) Decrypting or verifying inline pgp messages can be done by selecting an the inline pgp area and and using: @@ -484,7 +527,7 @@ See also the **Usage:** section in `gnus-alias.el`. ## Resending (or bouncing) messages -Add the following to your [notmuch init file](#notmuch_init_file) to be able +Add the following to your [notmuch init file](/notmuch-emacs#notmuch_init_file) to be able to resend the current message in show mode. (define-key notmuch-show-mode-map "b" @@ -496,7 +539,7 @@ to resend the current message in show mode. ## `notmuch-hello` refresh status message -Add the following to your [notmuch init file](#notmuch_init_file) to get a +Add the following to your [notmuch init file](/notmuch-emacs#notmuch_init_file) to get a status message about the change in the number of messages in the mail store when refreshing the `notmuch-hello` buffer. @@ -526,7 +569,7 @@ when refreshing the `notmuch-hello` buffer. Mailman mailing list software rewrites and rewraps long message subjects in a way that causes TABs to appear in the middle of the subject and header -lines. Add this to your [notmuch init file](#notmuch_init_file) to replace +lines. Add this to your [notmuch init file](/notmuch-emacs#notmuch_init_file) to replace tabs with spaces in subject lines: (defun notmuch-show-subject-tabs-to-spaces () @@ -673,14 +716,14 @@ notmuch-show-stash-mlarchive-link-alist RET`. Add a new entry with "Function returning the URL:" set to: - (lambda (message-id) - (concat "http://patchwork.example.com/patch/" - (nth 0 - (process-lines "/path/to/pwclient" "search" - "-p" "the-project" - "-m" (concat "<" message-id ">") - "-n" "1" - "-f" "%{id}")))) + (lambda (message-id) + (concat "http://patchwork.example.com/patch/" + (nth 0 + (process-lines "/path/to/pwclient" "search" + "-p" "the-project" + "-m" (concat "<" message-id ">") + "-n" "1" + "-f" "%{id}")))) Replacing `http://patchwork.example.com/patch/`, `/path/to/pwclient`, and `the-project` appropiately. You should now be able to stash the Patchwork URL @@ -689,22 +732,22 @@ using `c l`. Going further, if the patch has been committed, you can get the commit hash with this: - (lambda (message-id) - (nth 0 - (process-lines "/path/to/pwclient" "search" - "-p" "the-project" - "-m" (concat "<" message-id ">") - "-n" "1" - "-f" "%{commit_ref}"))) + (lambda (message-id) + (nth 0 + (process-lines "/path/to/pwclient" "search" + "-p" "the-project" + "-m" (concat "<" message-id ">") + "-n" "1" + "-f" "%{commit_ref}"))) And finally, if the project has a web interface to its source repository, you can turn the commit hash into a URL pointing there, for example: - (lambda (message-id) - (concat "http://cgit.example.com/the-project/commit/?id=" - (nth 0 - (process-lines "/path/to/pwclient" "search" - "-p" "the-project" - "-m" (concat "<" message-id ">") - "-n" "1" - "-f" "%{commit_ref}")))) + (lambda (message-id) + (concat "http://cgit.example.com/the-project/commit/?id=" + (nth 0 + (process-lines "/path/to/pwclient" "search" + "-p" "the-project" + "-m" (concat "<" message-id ">") + "-n" "1" + "-f" "%{commit_ref}"))))