[Top] [Contents] [Index] [ ? ]

Mew (Messaging in the Emacs World)

Kazu YAMAMOTO
Created 1996/02/18
Modified2001/07/26

This Info documents Mew version 2.0. In addition to this Info, you may find useful information about Mew from Mew's official home page (http://www.Mew.org/).

1. Read me first  
2. Let's get started  
3. Viewing messages  
4. Composing messages  
5. Funny marks  
6. Happy refiling  
7. Selecting messages  
8. Give me a break  
9. Customizing Mew  
10. Email convention  
11. Implementation Issues  
12. Availability and mailing-list  
13. Copyright  
14. Variable Index  
15. Key Index  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

1. Read me first

Mew is an interface to integrate

and to make it easy to view and compose them. With Mew you can send a picture of a birthday cake with the song "Happy Birthday to you" to your friend, which is encrypted by strong cryptograph.

Mew is an acronym of "Messaging in the Emacs World". You should spell it with the first letter capitalized and pronounce it as it is (i.e. meow of cats). When the author started programming it, he chose a cute word from his English dictionary. So, Mew.

The features of Mew version 2.0 are as follows:

Please use Emacs 20.7 or later, or XEmacs 21.1.11 or later. Mew doesn't support earlier versions.

Mew may support beta versions of Emacs (e.g. Emacs 21) but Mew conforms the spec of official release when available.

Throughout this manual, "Emacs" means all supported platforms. "Internationalized Emacs" indicates multi character set platforms such as Emacs 20/21, and XEmacs complied with the --with-mule option while "Bilingual Emacs" means English-and-Latin1 platforms including Emacs 20/21 executed with the --unibyte option, XEmacs complied without the --with-mule option.

"Graphical Emacs" indicates graphical platforms such as Emacs 21 and XEmacs whereas text-only platforms are called "Text Emacs".


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2. Let's get started

Mew has the following six modes:

`Summary mode'
A mode to list up messages and to select one.
`Virtual mode'
A mode to list up messages selected with a specific condition from folders. It's similar to Summary mode. Threading feature is implemented as a part of this mode.
`Message mode'
A mode to display a content of text.
`Draft mode'
A mode to prepare a message to be sent, answered, and forwarded.
`Header mode'
A mode to edit the header of a message and to send it.
`Addrbook mode'
A mode to register an entry to Addrbook.

To start Mew, you can choose one from the followings:

`M-x mew'
Execute Mew. If `mew-auto-get' is `t', messages stored in your mailbox are fetched to the +inbox folder and messages in the +inbox folder are listed up in Summary mode. If `mew-auto-get' is `nil', simply list up messages in the inbox folder. The default of `mew-auto-get' is `t'.
`C-uM-x mew'
Perform `M-x mew' thinking that `mew-auto-get' is reversed.
`M-x mew-send'
Enter Draft mode for message composing.
`C-xm'
Enter Draft mode for message composing if `mail-user-agent' is configured.

When Mew is executed on Text Emacs, a shape of "/\\ - \\/", which stands for Mew, spins. Two cute cats appear on the cover page on Graphical Emacs.

When fetching messages stored in your mailbox, you may be required to input your password. Before you type your password, carefully see if either the following conditions is satisfied:

If none of these conditions is satisfied, don't input password. Otherwise, your password would be wire-tapped.

If Mew is not executed, see whether or not Mew is installed and/or whether or not the following configurations are put into a site configuration file or your "~/.emacs".

 
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
;; (setq mew-name "your name") ;; (user-full-name)
;; (setq mew-user "user name of e-mail address") ;; (user-login-name)
(setq mew-mail-domain "domain of e-mail address")
;; (setq mew-pop-user "your POP account")  ;; (user-login-name)
(setq mew-pop-server "your POP server")    ;; if not localhost
(setq mew-smtp-server "your SMTP server")  ;; if not localhost
(setq mew-icon-directory "icon directory") ;; if using XEmacs/Emacs 21
;; See also mew-config-alist for advanced use

;; Optional setup (Read Mail menu for Emacs 21):
(if (boundp 'read-mail-command)
    (setq read-mail-command 'mew))

;; Optional setup (e.g. C-xm for sending a message):
(autoload 'mew-user-agent-compose "mew" nil t)
(if (boundp 'mail-user-agent)
    (setq mail-user-agent 'mew-user-agent))
(if (fboundp 'define-mail-user-agent)
    (define-mail-user-agent
      'mew-user-agent
      'mew-user-agent-compose
      'mew-draft-send-message
      'mew-draft-kill
      'mew-send-hook))

The configuration above assumes that you are using POP to retrieve messages. If you want to use a local mailbox, you also need, for instance, the following configuration:

 
(setq mew-mailbox-type 'mbox)
;; See contrib/00readme for more information.
(setq mew-mbox-command "incm")
(setq mew-mbox-command-arg "-d /path/to/mbox")

When booting, Mew reads "~/.mew.el". Configurations concerned with Mew should be written in this file.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Viewing messages

If you input `M-x mew', Mew moves messages from your mailbox to the +inbox folder and displays as follows:

 
    1  07/17 Itojun         Re: N+I 2001 Tokyo IPv6 ShowCase
    2  07/18 Utashiro       Kanda Izumiya
    3  07/19 Nom-sun        refile info.

We call this Summary mode. This section mainly explains how to read messages in Summary mode.

3.1 Reading Basis  
3.2 Displaying MIME  
3.3 Visualizing PGP/MIME  
3.4 Getting messages and moving to a folder  
3.5 Write, answer, and forward  
3.6 Useful features  
3.7 Thread  
3.8 Sorting messages  
3.9 Illegal message  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.1 Reading Basis

To read messages in arrival order, type `SPC' to display them. That's it. It's easy, isn't it?

Yet this might not be comprehensive, so we list up basic commands for page process as follows:

`SPC'
Read through messages. That is, display a message, scroll it, and move-then-display another message. Refer to See section 9.1 Summary mode to know which direction the cursor moves.
`C-uSPC'
Redisplay the message from the top of it.
`DEL'
Back-scroll this message. Unnecessary header fields are hidden over the window. Type `DEL' to see them when a message is displayed.
`RET'
Make this message scroll up with one line.
`M-RET'
`-'
Make this message scroll down with one line.

`C-n'
Go to the next line.
`C-p'
Go to the previous line.
`n'
Move down then display. Targets includes parts, messages marked with `*', and non-marked messages.
`C-un'
Move down then display. Targets includes messages marked with `*', and non-marked messages.
`p'
Move up then display. Targets includes parts, messages marked with `*', and non-marked messages.
`C-up'
Move up then display. Targets includes messages marked with `*', and non-marked messages.
`j'
Jump to a message according to the number which you input.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.2 Displaying MIME

It's not difficult to read a multipart message. As usual, just type `SPC'.

A multipart message is marked with "M" on the left side of date as follows:

 
    4  07/19 Shigeya-san    Going to Sushi bar
    5 M07/20 Itojun         MagicPoint
    6  07/21 Motonori-san   Re: Children science

When you type `SPC' on "5", its header is displayed in Message mode then its multipart structure is displayed in Summary mode as follows:

 
    4  07/19 Shigeya-san    Going to Sushi bar
    5 M07/20 Itojun         MagicPoint
B    2  Image/Gif                    MagicPoint logo              mgp.gif
Q    3  Application/Postscript       Presentation Material        ohp.ps   
    6  07/21 Motonori-san   Re: Children science

If the first part is Text/, the first part is not visualized in Summary mode but the first part is displayed with its header in Message mode.

Each line of multipart consists of

Content-Description can be considered Subject: for each part. This format is very similar to that of attachment region in Draft mode.

If you type `SPC' or `n', the cursor moves onto part 2 and the content is displayed according to its data type. For instance, Text/Plain is showed in Message mode and PostScript is visualized with "ghostview".

Please note that `n' and `p' moves lines including multipart. To display the message below skipping multipart, type `C-un'. Likewise, to display the message above (not this message), input `C-up'.

Mew processes MIME recursively. The following example is a forwarded multipart message.

 
  501 M02/22 Itojun         Fw: MagicPoint
     2  Message/Rfc822               MagicPoint                       
B    2.2  Image/Gif                    MagicPoint logo            mgp.gif
Q    2.3  Application/Postscript       Presentation Material      ohp.ps

(Memo) I strongly discourage you to embed an object other than text as a top level single part to a message directly. Rather, I do recommend to make multipart whose part 1 is description text for part 2 and part 2 is an object other than text.

A message which contains a single part other than text is displayed as multipart.

Since the syntax of MIME messages can be complex, it sometime takes much time to analyze the syntax. However, Mew guesses the message to be read next and analyzes it beforehand while the user are reading the current message. Analyzed messages are cached for a while.

To notice the end of a message explicitly, Mew displays the string "[End of message]" in the end of the message. In the end of each part, Mew displays the string "[Message is continued]". These strings are customized by `mew-end-of-message-string' and `mew-end-of-part-string', respectively.

There are several variables to control the message analysis.

`mew-file-max-size'
The limit size of messages to be analyzed. If the size of a message is less than or equal to this value, it is analyzed and displayed. Otherwise, the raw message is displayed without analysis. The default is 10000 byte.
`mew-header-max-length'
The limit length of header to be analyzed. If the length of a header is less than or equal to this value, it is analyzed and displayed. Otherwise, the message is displayed as broken since the analysis is stopped. The default is 100 lines.
`mew-decode-broken'
Whether Mew be liberal or conservative to illegal messages. If `t', be liberal. If `nil', be conservative. If conservative and illegal portions are found, they are reported in the X-Mew: field. The default is `t'.
`mew-use-text-body'
Whether or not the text part of a body is displayed with its header. If `t', both a body which is a single part text and the first text part in a multipart body are displayed with its header. If `nil', they are displayed as a singlepart in a multipart. The default is `t'.
`mew-use-alternative'
How to treat Multipart/Alternative. If `t' one part is displayed according to the preference defined in `mew-mime-multipart-alternative-list'. If `nil', it is displayed as a multipart. The default is `t'.

There are some commands concerned with message analysis.

`.'
Remove the cache of this message or part and analyze the message, then display this message or part again. If you use this command to a message which reaches the limit of `mew-file-max-size' or `mew-header-max-length', the message is displayed again without the limitations.
`C-u.'
Analyze the message with `mew-decode-broken' reversed (see See section 3.9 Illegal message).
`,'
Display this message in the raw format. The beginning part of the message, whose size specified by `mew-file-max-size', is displayed.
`C-u,'
Display the entire message in the raw format regardless `mew-file-max-size'.
`:'
The same as `.' with `mew-use-alternative' and `mew-use-text-body' reversed.
`C-u:'
The same as `C-u.' with `mew-use-alternative' and `mew-use-text-body' reversed.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.3 Visualizing PGP/MIME

Basic commands such as `SPC' visualize messages signed or encrypted with PGP as well. Let's start with a simple example:

 
    8 S07/22 Sakai-san      Re: home was full
    9 E07/23 Neat Sumikawa  Wine

Message 8 and 9 is marked with "S" and "E", respectively. This means that the *body* is signed and encrypted, respectively.

PGP/MIME also allows to sign and/or encrypt some parts of a message. In this case, these marks don't appear. The "S" or "E" mark appears only when the entire body of the message is signed or encrypted.

"Sign" and "encrypt" used above means the last procedure applied the body is "sign" and "encrypted", respectively. Examples above may have been produced with more complex process. As far as the firmer message, for instance, the body may have been signed after encrypting the body. It is likely that some part of the latter message was first signed then the body was encrypted.

If some parts or the body is encrypted, Mew asks you to input your pass-phrase to get plain text. Please refer to See section 2. Let's get started to know what you should take care when inputing pass-phrase. The pass-phrase is used to decrypt your secret key. The secret key is then used to decrypt cipher text.

To visualize PGP/MIME, you need to input your pass-phrase every time you encounter cipher text. This is because Mew does not cache pass-phrases anywhere for security reasons. If you feel this is inconvenient, set the following configuration so that your pass-phrases are cached for a while. Please refer to See section 3.4 Getting messages and moving to a folder to know what you should take care to use this feature.

 
(setq mew-use-cached-passwd t)

Since decrypted messages are cached for a while, you perhaps need not to input your pass-phrase at the next time when the message will be displayed, even if you do not use the pass-phrase cache.

To verify signatures, senders' public keys are used. So, you are not asked to type your pass-phrase.

Since Mew automatically verifies signatures and/or decrypts cipher text with inputed pass-phrase, it is likely that users don't notice that the original message has signatures and/or which parts were encrypted.

To tell users the results of verification of signatures or which parts were decrypted, Mew inserts the X-Mew: field in the header as follows:

 
X-Mew: <body> PGP decrypted.
       Good PGP sign "kazu@mew.org" COMPLETE

The number in "<>" indicates which part was protected with PGP. "body" means the body was protected. This example tells us that the body was singed by kazu then encrypted for the reader. Mew first decrypted it then verified its signature of the decrypted message. The signature is good. So, nobody has modified the content since it was signed by the secret key whose ID is kazu@mew.org. The validity of the public key used to verify the signature is "complete". Thus, the receiver believes that the public key actually belongs to the user whom the ID tells. That is, this message was verified by the trusted public key AND its results was good, so no alternation was found.

In the following example, the signature of the body, which is multipart, was first verified then part 2, which is a message, was decrypted. That is, the composing process was that part 2 was first encrypted then the entire body was signed.

 
X-Mew: <body multi> Good PGP sign "kazu@mew.org" COMPLETE
X-Mew: <2 message> PGP decrypted.

Smart users may wonder what if a bad guy or gal sends you a message with an illegal X-Mew: field. Take it easy. First Mew carefully removes the X-Mew: field then inserted a valid X-Mew: field to the header.

X-Mew: tells you many other types of result. For example, no public key is available, the decryption failed, etc. The following example indicates that the public key whose key ID is 0x1B8BF431 is missing.

 
X-Mew: <body multi> No his/her public key. ID = 0x1B8BF431

In this case, if you type `C-cC-f', Mew tries fetching this public key using URL specified in `mew-pgp-keyserver-url-template'. If the X-Mew: field does not exist, `C-cC-f' takes the From: field as ID. Also, `C-uC-cC-f' extracts key IDs from fields specified in `mew-x-pgp-key-list' in addition to the X-Mew: field then tries fetching them.

Mew supports PGPv2, PGPv5, and GNUPG. You can select one of those by `C-cC-v' in Summary mode. If you want to use those PGPs, you should set the command name of PGPv2, PGPv5, and GNUPG to `mew-prog-pgp2', `mew-prog-pgp5', and `mew-prog-gpg', respectively. Also, set the default PGP name to `mew-prog-pgp'. Note that pass-phrases are cached independently for each PGP.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 Getting messages and moving to a folder

To fetch arrived messages, store them to the +inbox folder and list up them, use `i'. The list is appended to the bottom of Summary mode for the +inbox folder.

At that time, you may be required to input your password. Please refer to See section 2. Let's get started to know what you should take care when inputing password. If you get sick of inputing your password from time to time, please make use of the password-cache mechanism with following configuration.

 
(setq mew-use-cached-passwd t)

With this configuration, any passwords including POP and PGP are cached. While a password is cached, you can omit to input the password. The password will be expired after a certain period (20 minutes by default). However, its timer is cleared (reset to 20 minutes) if the password is internally used.

Password is stored in Emacs with RAW format. So, you have to take care so that other people don't touch your Emacs. If you leave your desk and an Emacs expert touches your Emacs, your passwords would be stolen.

A message, whose size is large, may be truncated. This kind of message is marked with `T'. To retrieve the entire of this message, type `T' on this message.

To list up messages in Summary mode or flush it, use `s'. This command asks you to input range. Important ranges for Mew are as follows:

`update'
From "the last message in the Summary mode + 1" to "the last message in the corresponding folder". That is, the gap between the Summary mode and the existing folder
`all'
All messages in the folder. When Summary mode becomes inconsistent, use this range to flush the list.

The default range both for +draft and +queue is `all'. For other folders, the default is `update'. So, just type `RET' after `s' to get the up-to-date list of the current folder except +draft and +queue.

You can specify the following ranges though they are not important for Mew.

`<num1>-<num2>'
From <num1> to <num2>
`<num1>-'
From <num1> to the last
`-<num2>'
From the first to <num2>
`last:<num>'
Last <num> messages

To go to another folder, type `g'. You can make use of folder name completion with `TAB'. When you move a folder and if Mew considered that its list of messages are old, Mew automatically displays the differences.

Here is a summary for commands up above.

`i'
Fetch arrived messages, store them to the +inbox folder and list up them
`I'
Fetch the entire of a truncated message marked with `T'.
`s'
List up messages in Summary mode or flush it.
`g'
Go to another folder.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.5 Write, answer, and forward

The following commands are prepared for writing, replying, and forwarding a message.

`w'
Write a message. A new draft is prepared in Draft mode. Please refer to See section 4. Composing messages.
`W'
Send a message by modifying a part of the header of another message. Please refer to See section 4.10 Re-sending messages.
`a'
Answer to this message. A new draft is prepared in Draft mode. Mew automatically decides To: and Cc:. Please refer to See section 4.8 Replying to a message and deciding recipients.
`A'
Answer to this message. A new draft is prepared in Draft mode. Mew automatically decides To: and Cc: and cites the body. Please refer to See section 4.8 Replying to a message and deciding recipients.
`f'
Forward this message to a third person. A new draft is prepared in Draft mode and this message is automatically attached. Please refer to See section 4.9 Forwarding messages.
`F'
Forward messages marked with `@' to a third person. A new draft is prepared in Draft mode and this message is automatically attached. For more information, refer to See section 5.3 Multiple `@'. Please refer to See section 4.9 Forwarding messages.

If an error message returns, let's give one more try with the following commands.

`E'
Edit this message again to retry sending. Or edit this RFC822 part typically included in a MIME-encapsulated error message.

  1. In +draft, the message is just edited.
  2. In +queue, the message is moved to +draft and is edited.
  3. Otherwise, the message is copied to +draft and is edited.

For +draft and +queue, the sending case revives.

For the other folders, if `mew-case-guess-when-prepared' is `t', each fields of the original header is replaced according to a guessed sending case. For more information, see See section 9.8 Changing receiving/sending behavior.

`C-uE'
The same as `E'. But, when used for other folders than +draft and +queue, the original header retains even if `mew-case-guess-when-prepared' is `t'.
`M-e'
Edit an old fashioned error message in which the original message is encapsulated after "----- Original message follows -----".


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.6 Useful features

Mew provides you with convenient commands in Summary mode as follows:

`v'
Toggle "Summary mode only" and "Summary & Message mode". If you choose "Summary mode only", you can quickly put the `D' mark since the next message is not displayed.
`M-l'
Make the current line to the center of Summary mode.
`C-cC-s'
Incremental search forward in Message mode.
`C-cC-r'
Incremental search backward in Message mode.
`y'
Save this message or this part into the file whose name is specified by you.
`C-uy'
Save this message or this part into the file whose name is specified by you, specifying coding-system for text.
`#'
Print this message or this part.
`|'
Send this message or this part via pipe.
`O'
Pack messages and list them up again.
`B'
De-capsulate embedded messages in MIME format.
`D'
Delete all messages in the +trash folder (See section 5.1 Delete `D', `X').
`Z'
Update information including Addrbook (See section 4.3 Address Book). But the information of the folder list is not updated.
`C-uZ'
Update all information including the folder list.
`C-cC-a'
Register the information on the current message to Addrbook (See section 4.3 Address Book).
`C-cC-v'
Select PGP version (See section 3.3 Visualizing PGP/MIME).
`C-cC-z'
Let PGP decrypt and/or verify good-old-PGP messages.
`C'
Change the value of sending/receiving case. For more information, please refer to See section 9.8 Changing receiving/sending behavior.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.7 Thread

Exchanging messages, the relationship of the messages becomes tree structure. This is called thread. Mew has a feature to visualize the tree structure of threads. Here is an example.

 
    5  07/02 Kazu Yamamoto  Go go Penang
    6  07/02 Neat Sumikawa    Go go Penang
   10  07/03 Kazu Yamamoto      Go go Penang
    7  07/02 Tatsuya Jinmei   Go go Penang

The thread feature is implemented as Virtual mode. For instance, if you make threads for +inbox, a buffer called ++inbox is prepared. For more information about Virtual mode, please refer to See section 7.2 Virtual mode. To make threads, the following commands exist.

`tt'
If called in Summary mode, this command makes threads for the Summary mode as Virtual mode, then the cursor jump onto the current message in the Virtual mode. If a corresponding Virtual mode exists, this command just visits the Virtual mode. If called in Virtual mode, switch back to the corresponding Summary mode and move to the current message."
`C-utt'
Make threads for messages in the region.
`mt'
Make threads for messages marked with `*'.

Here are commands to move over threads.

`tp'
Move onto the top of the current thread. If the current message is a top node, move onto the top of the next thread.
`tn'
Move onto the top of the next thread.
`^'
Move onto the parent message of the current message.
`&'
Move onto the child message of the current message.
`('
Search backward by one sibling message of the current message.
`)'
Search forward by one sibling message of the current message.

Here are commands to put mark to messages in a thread.

`t*'
Put the `*' mark on all messages of the current sub-thread. Please refer to See section 5.4 Review `*' for more information.
`t@'
Put the `@' mark on all messages of the current sub-thread. Please refer to See section 5.3 Multiple `@' for more information.
`td'
Put the `D' mark on all messages of the current sub-thread. Please refer to See section 5.1 Delete `D', `X' for more information.
`tM-d'
Put the `X' mark on all messages of the current sub-thread. Please refer to See section 5.1 Delete `D', `X' for more information.
`to'
Put the `o' mark on all messages of the current sub-thread. Please refer to See section 5.2 Refile `o' for more information.

A command to unmark all messages of the current sub-thread is `tu'.

To make threads more easy-to-see, two variables exist. If `mew-use-fancy-thread' is `t', the tree structure is displayed with lines. If `mew-use-thread-separator' is `t', threads are separated by a separator. Both default values are `nil'. The following is an example when `mew-use-fancy-thread' is `t'.

 
    5  07/02 Kazu Yamamoto  Go go Penang
    6  07/02 Neat Sumikawa   +Go go Penang
   10  07/03 Kazu Yamamoto   | +Go go Penang
    7  07/02 Tatsuya Jinmei  +Go go Penang


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.8 Sorting messages

To sort messages in the current folder, use `S'. Then you will be asked to input the field name as follows:

 
Sort by? (default date): 

Strings stored in the specified field should not be compared as text in some cases. For example, while Subject: can be considered as text, Date: and X-Mail-Count: should be treated as date and number, respectively. In this way, we call how to treat stored strings "mode". Default modes for typical field names are configured in `mew-sort-key-alist'.

When you want to specify the mode of sorting, the mode is followed by `:'. For example, to sort with the X-Mail-Count: field as arithmetic value (not text), input like this:

 
x-mail-count:num

You can complete field names and modes with `TAB'.

Mew provides four modes for sorting:

`text'
String with preceding "Re: " and or "Fw: " removed.
`ml'
The same as text but preceding mailing-list-string removed.
`num'
Number.
`date'
Date.

The default field name, when you asked "Sort by?", can be specified to `mew-sort-default-key'. The following is an example to change the default value from "date" to "x-ml-count".

 
(setq mew-sort-default-key "x-ml-count")

You can also set a default field name for each folder by `mew-sort-default-key-alist'. For folders not explicitly specified here, `mew-sort-default-key' is used for their default field name. The following is an example that specifies "subject" for the +inbox folder and "x-mail-count" for the +mew-dist folder.

 
(setq mew-sort-default-key-alist
      '(("+inbox" . "subject")
        ("+mew-dist" . "x-mail-count")))


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.9 Illegal message

The following message contains Japanese text in its body. The charset parameter is not specified in the Content-Type: field. So, the body should be treated as US-ASCII.

 
To: piglet
Subject: illegal message
From: pooh
MIME-Version: 1.0
Content-Type: Text/Plain

Japanese comes here.

The following message is illegal as well.

 
From: "=?iso-2022-jp?B?GyRCOzNLXE9CSScbKEI=?=" <kazu@iijlab.net>

The string surrounded by "=?" and "?=" in the example above was originally Japanese. The spec of mail defines that only ASCII characters can be contained in a header. So, if a string, whose character set is other than ASCII, to be stored in a header, the string must be encoded into ASCII strings according to the defined rule. But it is certainly illegal to embed the ASCII strings with `"'. Strings surrounded by `"' is treated as is. Therefore, the string between "=?" and "?=" in the example should not be decoded into Japanese.

Several mailers are careless about the spec and made mistakes of this kind. The right way to do is ask the programmers of such mailers to make the programs conformant to the spec. However, since there are so many mailers of this kind around the world, Mew tries to decode messages as much as possible. Then, Mew displays warnings like this:

 
X-Mew: Charset for body is not specified.
       To: has encoded-words in quoted text.

If you want to decode messages strictly, set `mew-decode-broken' to nil. This value can be toggled dynamically by `C-u.' (see See section 3.1 Reading Basis).

 
Content-Type: Text/Plain; charset=ISO-2022-JP

Japanese text written in Shift_JIS

By using `C-cC-l', the text is re-displayed with charset guess according to a specified language, ignoring the character set specified by the charset parameter. If you type `C-uC-cC-l', you can re-display the text by specifying a character set explicitly.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4. Composing messages

This section shows you how to compose a message.

The followings are methods to enter Draft mode to write a new message.

  1. Type `M-x mew-send'.
  2. Type `C-xm' if `mail-user-agent' is configured.
  3. Press `w' in Summary mode.

Then a buffer like the following is prepared.

 
To: 
Subject:
From: Kazu Yamamoto <Kazu@Mew.org> 
X-Mailer:Mew version 2.0 on Emacs 20.7
----

We call this "Draft mode". In Draft mode, we call the region above "----" header. Also the region below "----" body.

Also, replying a message (`a' or `A') and/or forwarding messages (`f' or `F') lead you to Draft mode from Summary mode.

A draft is temporary stored under the +draft folder. You can write multiple messages at the same time.

Now let's see how to use Draft mode.

4.1 Completions in a header  
4.2 Circular completions in a header  Circular completion in a header
4.3 Address Book  Address book
4.4 Sending a message  
4.5 Signature and citation  
4.6 Composing multipart  
4.7 Defining charset  
4.8 Replying to a message and deciding recipients  
4.9 Forwarding messages  
4.10 Re-sending messages  
4.11 Using PGP  
4.12 Mark based composer  
4.13 PGP key distribution  
4.14 Sending messages with anonymous receivers  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.1 Completions in a header

In header, completions each field are assigned to `TAB' as follows:

<Field completion>

If the cursor is on the beginning of a line and the previous line does not end with ",", you can complete field defined in the `mew-fields' variable with `TAB'.

 
To: kazu@mew.org
R`TAB'

At the point above, if you type `TAB', you get:

 
To: kazu@mew.org
Reply-To: 

<Address completion and expansion>

You can define an easy-to-remember short name for a long or hard-to-remember address with Mew's Addrbook feature. For example, consider the following configuration:

 
pooh:           winnie-the-pooh@100acre.woodwest.uk

This means to replace the string "pooh" with "winnie-the-pooh@100acre.woodwest.uk". Note that short names should usually be configured in "~/Mail/Addrbook". For more information about Addrbook, please refer to See section 4.3 Address Book.

In a header in Draft mode and on the field supposed to write addresses and one or more characters precede, you can complete an short name for address with `TAB'.

Let's look at the following example.

 
To: piglet@beech.tree.uk, 
        po`TAB'

If you input `TAB' up above, "pooh" is completed (unless other candidates exist).

 
To: piglet@beech.tree.uk, 
        pooh`TAB'

One more type of `TAB' expands it to "winnie-the-pooh@100acre.woodwest.uk".

 
To: piglet@beech.tree.uk, 
        winnie-the-pooh@100acre.woodwest.uk

If you type `TAB' at improper point for address completion, `TAB' is inserted. Consider the following example:

 
To: pooh,`TAB'

In this case, `TAB' is just inserted.

A string ended with "@" is explicitly expanded. Consider the following case where similar short names are defined.

 
pooh:           winnie-the-pooh@100acre.woodwest.uk
pooh-pooh:      pooh-pooh@somewhere.jp

To expand "pooh" to "winnie-the-pooh@100acre.woodwest.uk", take this way.

 
To: pooh@`TAB'

<Folder completion>

At a point, such as Fcc:, supposed to complete a folder, you can complete a folder with `TAB'. Let's look at an example.

 
Fcc: `TAB'

Here, "+" is completed.

 
Fcc: +`TAB'

One more type of `TAB' shows candidates. Please input appropriate characters then type `TAB'.

 
Fcc: +B`TAB'

If a candidate can be solely decided, you get a completion.

 
Fcc: +backup

<Hints of customization>

You can define which field allows address and folder completion in `mew-field-completion-switch'. The following declaration is used by default.

 
  '(("To:"         . mew-complete-address)
    ("Cc:"         . mew-complete-address)
    ("Dcc:"        . mew-complete-address)
    ("Bcc:"        . mew-complete-address)
    ("Reply-To:"   . mew-complete-address)
    ("Fcc:"        . mew-complete-folder)
    ("Resent-To:"  . mew-complete-address)
    ("Resent-Cc:"  . mew-complete-address)
    ("Resent-Dcc:" . mew-complete-address)
    ("Resent-Bcc:" . mew-complete-address)
    ("Newsgroups:" . mew-complete-newsgroups))


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.2 Circular completions in a header

In a header, circular completions are assigned to `C-cTAB'. Circular completion means that a value of alist is replaced by the next value of the list. The end of the list is considered continuous to the top of the list. Circular completions in a header are different for each field as follows:

<Circular completion of domain name>

On a field where addresses are written, use `C-cTAB' for domain completion. Candidates are selected from `mew-mail-domain-list'.

 
To: kazu@`C-cTAB'

If you try to complete just after "@" as up above, the first domain of `mew-mail-domain-list' is inserted.

 
To: kazu@mew.org`C-cTAB'

After completion, one more type of `C-cTAB' inserts the next domain of `mew-mail-domain-list'. This completion is looped.

 
To: kazu@wide.ad.jp

If a candidate can be solely decided, it is inserted.

 
To: kazu@w`C-cTAB'

The example up above gets:

 
To: kazu@wide.ad.jp

<Circular completion of From:>

In Draft, the From: field is inserted with the format of "mew-name ".

 
From: Kazu Yamamoto <Kazu@Mew.org>

On the From: field, `C-cTAB' circularly completes its value from `mew-from-list'. You can set `mew-from-list' by yourself. Also, `mew-from-list' can be set automatically. For automatic setup, please refer to See section 9.8 Changing receiving/sending behavior.

Typing `C-cTAB' anywhere on the value replaces the value with the next value of `mew-from-list'. For example,

 
From: Kazu Yamamoto <Kazu@Mew.org>`C-cTAB'

becomes as follows:

 
From: Kazuhiko Yamamoto <kazu@wide.ad.jp>

You can define association of field key and circular completion function in `mew-field-circular-completion-switch'. The following declaration is used by default.

 
  '(("To:"          . mew-circular-complete-domain)
    ("Cc:"          . mew-circular-complete-domain)
    ("Dcc:"         . mew-circular-complete-domain)
    ("Bcc:"         . mew-circular-complete-domain)
    ("Reply-To:"    . mew-circular-complete-domain)
    ("Resent-To:"   . mew-circular-complete-domain)
    ("Resent-Cc:"   . mew-circular-complete-domain)
    ("Resent-Dcc:"  . mew-circular-complete-domain)
    ("Resent-Bcc:"  . mew-circular-complete-domain)
    ("From:"        . mew-circular-complete-from)
    ("Resent-From:" . mew-circular-complete-from))


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.3 Address Book

Mew 2.0 provides an address book ("~/Mail/Addrbook). The address book provides 2 formats. One is to specify expansion rules, the other is to define personal information.

First, let's look at the format to specify expansion rules.

 
<shortname>: <address1>[, <address2>, <address3>,...]

In this way, you should specify a short name and a full address separating by `:'. If you want to expand the short name to multiple addresses, specify them separating by `,'. (This is exactly same as addresses separated by `,' in the To: field, for instance.) SPC is allowed after `,'. The following is an example:

 
pooh:           winnie-the-pooh@100acre.woodwest.uk
piglet:         piglet@beech.tree.uk
friends:        pooh, piglet

Multi-level expansion is possible. For example, let's expand "friends" as follows:

 
To: friends`TAB'

"friends" is expanded to "pooh" and "piglet" internally, then each word is also expand resulting as follows:

 
To: winnie-the-pooh@100acre.woodwest.uk, piglet@beech.tree.uk

Next, the format to define personal information is shown below:

 
<shortname> <address1>[, <address2>, <address3>,...] <nickname> <fullname>

In this way, four elements are separated by SPC.<shortname> is a short name. <nickname> and <fullname> are his/her nickname and his/her full name, respectively. (To know usage of nickname, please refer to See section 9.1 Summary mode and/or See section 9.3 Draft mode.)

The second element is his/her addresses. If he/she has multiple addresses, enumerate them separating by `,'. SPC is allowed after `,'. So, this SPC is not the separator of the elements. SPC surrounded by `"' is not the separator, neither. Let's see an example:

 
kazu	kazu@mew.org, kazu@iijlab.net	Kazu-kun  "Kazuhiko Yamamoto"

Unlike the format of expansion rules, the format of personal information means that each address will be replaced one by one. Consider the following example:

 
To: kazu`TAB'

Typing `TAB' after "kazu" leads to "kazu@mew.org".

 
To: kazu@mew.org`TAB'

Typing `TAB' after "kazu@mew.org" makes "kazu@iijlab.net" appeared.

 
To: kazu@iijlab.net`TAB'

Then "kazu@mew.org" will appear again if you type `TAB' after "kazu@iijlab.net". In this way, each address is replaced one by one. After deciding an address, you can add its full name.

 
To: kazu@mew.org`M-TAB'

Like this, typing `M-TAB' replace the address with the following format.

 
To: Kazuhiko Yamamoto <kazu@mew.org>

In the format of personal information, you can omit each element. When you want to omit intermediate element, specify `*'. The following is an example to define nicknames for addresses.

 
*	kazu@mew.org, kazu@iijlab.net	Kazu-kun

The nickname is used to replace addresses in Summary mode and to replace the citation prefix (See section 4.5 Signature and citation) in Draft mode.

The comment letters are `;' and `#'. `;' is valid only when it appears in the beginning of lines. The entire line is ignored. `#' is valid everywhere. The strings between `#' and the end of the line is ignored. Also, `\' means a continuous line.

As a matter of fact, there are short names to be defined automatically. When you send a message, addresses on the To: and Cc: field are automatically registered with their user names as short names. Consider the following:

 
To: kazu@mew.org

When this message is sent, a short name "kazu" is automatically registered for the address "kazu@mew.org". If there is already a short name of "kazu", the next action is decided according to `mew-addrbook-override-by-newone'. If `nil', the old entry remains. Otherwise, the new entry overrides the old one. When expanded, the address book is prior to the automatic short name. So, only automatic short names which do not exist in the address book are valid. The limit number of automatic short names is 2000 (`mew-lisp-max-length'). If the number is over 2000, the oldest entry is removed. This information is automatically saved to "~/Mail/.mew-alias".

Summary mode provide the feature to register the information of the current message into Addrbook. To register a expansion rule, type `C-cC-a'. To register personal information, type `C-uC-cC-a'.

 
#If you want to register this entry, type C-c C-c.
#If you want to NOT register this entry, type C-c C-q.
Shortname: kazu
Addresses: kazu@mew.org
Nickname: 
Name: Kazuhiko Yamamoto
Comments: 

Add or modify the information if necessary. To register this information, type `C-cC-c'. To quit the registration, type `C-cC-q'


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.4 Sending a message

When you are ready to send a message after writing up, choose one of the following two commands.

`C-cC-m'
Compose a message, put it into +queue, and let it be waiting to be sent.
`C-cC-c'
Compose a message and send it. You are asked, "Really send this message? (y or n) ". Type `y' to send it.

Let's look at how a message is modified when sent. Let's consider the following example:

 
To: pooh
Subject: the next Sunday
From: Piglet <piglet@beech.tree.uk>
X-Mailer:Mew version 2.0 on Emacs 20.7
----
Would you like to play with me in the next Sunday?

// Piglet

This message is modified as follows, for example, if it is queued by `C-cC-m'.

 
Date: Mon, 13 Mar 2000 19:49:50 +0900 (JST)
Message-Id: <20000313.194950.59499544.piglet@beech.tree.uk>
To: winnie-the-pooh@100acre.woodwest.uk
Subject: the next Sunday
From: Piglet <piglet@beech.tree.uk>
X-Mailer:Mew version 2.0 on Emacs 20.7
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Would you like to play with me in the next Sunday?

// Piglet

As you can see, Data: and Message-Id: are added. You should note that both its data type and its character set are guessed correctly and added.

There are two methods to send messages waiting in +queue. Please note that both of them are commands in Summary mode.

`i'
If `mew-auto-flush-queue' is `t', flush +queue after receiving messages. In dial-up environments, this is a good idea in a sence of saving connection fee and of authentication for sending. `mew-auto-flush-queue' is default to `t'.
`C-cC-c'
Flush +queue. This would be convenient if you like to preview composed messages first in +queue and send them next. If `mew-ask-flush-queue' is `t', you are asked, Flush queue? (y or n) ". `mew-ask-flush-queue' is default to `nil'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.5 Signature and citation

Here are explained commands to process text in a body.

The first one is signature. To insert "~/.signature" on the cursor point, type `C-cTAB'. You can define your own signature file to `mew-signature-file'. Setting `mew-signature-as-lastpart' and `mew-signature-insert-last', you can customize the action of `C-cTAB'.

`C-cTAB'
Insert "~/.signature" on the cursor point.

The next one is citation. If you use `a' or `A' in Summary mode, a draft for reply is prepared and Emacs is split into three windows. The top is Summary mode, the middle is Message mode, and the bottom is Draft mode.

Here are commands to cite text from Message mode to Draft mode.

`C-cC-y'
Copy and paste a part of message from Message mode WITH citation prefix and label.
  1. Roughly speaking, it copies the body in Message mode. For example, if Text/Plain is displayed, the entire Message mode is copied. If Message/Rfc822 is displayed, the body without the header is copied.
  2. If you type `C-uC-cC-y', the header is also copied if exists.
  3. If an Emacs mark exists, the target is the region between the mark and the cursor.
`C-cC-t'
Copy and paste a part of message from Message mode WITHOUT citation prefix and label.

The default label and prefix is as follows:

 
From: SUMIKAWA Munechika <sumikawa@ebina.hitachi.co.jp>
Subject: Wine
Date: Wed, 23 Jul 1997 11:40:50 +0900

> Hi, it's Sumikawa, the neat from good morning to good night.
>
> Talking the party of wonderful wine, I would propose Cabernet 
> Sauvignon, Bordeaux, '90. It would be great if Pinot Noir
> is blended a bit.

In Draft mode, you can cite any text displayed in Message mode. So, you can cite text from multiple messages easily. Select a message in Summary mode and display it in Message mode, then cite it in Draft mode. Please repeat this procedure as you like. Triple windows are prepared for this purpose.

When highlighting gets wrong, type `C-cC-l' to re-highlight both the header and the body


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.6 Composing multipart

OK. Let's see how to create multipart.

When you are writing a message in +draft/1 and type `C-cC-a', the following lines are inserted at the bottom of the draft.

 
----------------------------- attachments -----------------------------
      Multipart/Mixed                                         1/     
     1  Text/Plain(guess)                                       CoverPage*
     2                                                          .   
--------0-1-2-3-4-5-6-7-8-9--------------------------------------------

"1/" is a temporary directory to create multipart and locates "~/Mail/draft/mime/1". The part 1, "CoverPage", refers to the body. Now the entire draft looks like:

 
To: mew-dist
Subject: This is header
X-Mailer:Mew version 2.0 on Emacs 20.7
----
This is body.

----------------------------- attachments -----------------------------
      Multipart/Mixed                                         1/     
     1  Text/Plain(guess)                                       CoverPage*
     2                                                          .   
--------0-1-2-3-4-5-6-7-8-9--------------------------------------------

Here we call three regions as follows:

In Draft mode, key bindings are different on each region.

To `TAB', for instance, functions are assigned as follows:

header
Completions.
body
Insert TAB.
attachments
Do nothing.

To `c', functions are assigned as follows:

header
Insert c.
body
Insert c.
attachments
Copy a file.

The following is a summary of commands in attachments.

`C-p'
Go to the previous file in the current directory.
`C-n'
Go to the next file in the current directory.
`C-f'
Go to the first subdirectory.
`C-b'
Go to the parent directory.
`c'
Copy a file (possibly via networks) on ".". To copy a remote file, use the "/[user@]hostname:/filepath" syntax.
`l'
Link a file with a symbolic link on ".". If you want to edit the attached file, you should `c' instead of `l' so that you don't edit the original file.
`d'
Delete this file or this directory.
`m'
Create a subdirectory (i.e. multipart) on ".".
`f'
Open this file into a buffer.
`F'
Open a new file into a buffer on ".".
`y'
Link the message which is displayed in Message mode on ".".
`e'
Input external-body on ".".
`a'
Sampling voice and insert as audio file on ".".
`p'
Extract the PGP key for the inputed user on ".".
`D'
Input a description (Content-Description:).
`T'
Change the data type (Content-Type:).
`I'
Specify input coding-system for a Text/* object.
`C'
Specify output coding-system for a Text/* object.
`P'
Specify a file name (Content-Disposition:) to save this part in the receiver side. If you type just `RET' without any string, its value is cleared. Then the file name in the sender side is displayed with `*'.

In attachments, data types are guessed by suffix. The current supported suffixes are as follows:

 
.txt       Text/Plain
.html      Text/Html
.rtf       Text/Enriched
.css       Text/Css
.xml       Text/Xml
.sgml      Text/Sgml
[0-9]+     Message/Rfc822
.ps        Application/Postscript
.pdf       Application/Pdf
.doc       Application/Msword
.xls       Application/Vnd.Ms-Execl
.ppt       Application/Vnd.Ms-Powerpoint
.gif       Image/Gif
.tiff      Image/Tiff
.jpe?g     Image/Jpeg
.png       Image/Png
.xwd       Image/X-xwd
.xbm       Image/X-xbm
.bmp       Image/X-bmp
.au        Audio/Basic
.mpe?g     Video/Mpeg
.mov       Video/Quicktime
.*         Text/Plain

For instance, if you copy files with `c', the part becomes as follows: (Please choose an appropriate suffix for the file name so that Mew can guesses its data type.)

 
----------------------------- attachments -----------------------------
      Multipart/Mixed                                         1/   
     1  Text/Plain(guess)                                       CoverPage*
B    2  Image/Gif                    MagicPoint logo            mgp.gif
Q    3  Application/Postscript       Presentation Material      ohp.ps
     4                                                          .
--------0-1-2-3-4-5-6-7-8-9--------------------------------------------

Each line of multipart consists of

Please refer to See section 4.12 Mark based composer to know how to change mark (Content-Transfer-Encoding:). You can change data types (Content-Type:) by `T' at any time. You can also insert descriptions (Content-Description:) by `D'. This description column is overwritten when encrypted as described in See section 4.12 Mark based composer.

Strictly speaking, the fifth column is the copied file name or the value of Content-Disposition:, namely the file name to which the receiver saves the part. If Content-Disposition: exists, Mew displays it. Otherwise, Mew displays the copied file name with `*' appended. When you copy a file, the file name is specified as Content-Disposition:. But this is not true for both Message/* and Multipart/*. To specify Content-Disposition:, use `P'.

Files mean singlepart while directories are regarding with multipart. So, you can create very complex multipart MIME as if you created file system. Very easy, isn't it?

The default data type for directories is Multipart/Mixed. Of course, you can change it by `T'.

If you become ready to send a multipart message, type `C-cC-m' or `C-cC-c' to send it as described the previous subsection.

Let's consider Message/External-body by `e'. If access-type is "ftp" or "anon-ftp", you can enjoy completion for a remote file name thanks to ange-ftp. If access-type is "local-file", of course, file completion is available.

If you want to quit creating multipart and to get back to singlepart, type `d' in the top level multipart.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.7 Defining charset

Mew has a mechanism to decide character set of the transfer form for both singlepart and multipart.

<Singlepart>

When you type `C-cC-m' or `C-cC-c' to compose a message on Draft mode, Mew decides character set of the transfer from from the internal representation of its body. On Bilingual Emacs, US-ASCII is chosen for 7bit character set while ISO-8859-1 is selected for 8bit character set. On Internationalized Emacs, character set of the transfer form is chosen based on the rule that Mew defines.

<Multipart>

Since data to be attached as a part of multipart is a file, it is stored on disk. So, to decide its character set of the transfer form, it is necessary to load the file into an Emacs buffer converting it into internal representation. After that, Mew decides character set of the transfer form for the file by the same way of singlepart.

On Bilingual Emacs, Mew reads a file as it is. So, if the file is 7bit, US-ASCII is chosen. Otherwise ISO-8859-1 is selected.

On Internationalized Emacs, Mew reads a file according to the local convention (i.e. auto conversion). The command to set a local convention is `C-x RET l'.

For example, in Japan, ISO-2022-JP, EUC-JP, and Shift_JIS is neatly guessed and stored in buffer as internal representation for Japanese. Mew chooses ISO-2022-JP as character set of the transfer form from the internal representation. That is, even if the character set of the file is EUC-JP or Shift_JIS, it is automatically converted into ISO-2022-JP, which is the transfer form of Japanese. So, you can attach a file without taking care of its character set.

If you want to specify coding-system of a file to be attached, type `I'. Let's call the character set "input character set". Also, if you want to specify coding-system of the transfer form, use `C'.

Information of character set is displayed in parentheses. If character set of the transfer form is specified explicitly, it is displayed. Otherwise, if input character set is specified, it is displayed with "*". Otherwise, "guess" is displayed.

Let's look at the following example. Since part 1 is a body, it stored in an Emacs buffer. Because "guess" is displayed, it is Mew that decides character set of the transfer form according to the rules that Mew defines.

Since iso-8859-1 is specified as input character set, Mew loads the file considering that its character set is iso-8859-1, then converts it into internal representation. Character set of the transfer form is decided according to the rules that Mew defines.

The input character set is unknown just from this example. (But a user certainly knows what it is since he actually specified.) Anyway, a file will be loaded and be converted into internal representation, then be converted into EUC-JP which is specified as character set of the transfer form.

 
----------------------------- attachments -----------------------------
      Multipart/Mixed                                         1/     
     1  Text/Plain(guess)                                       CoverPage*
     2  Text/Plain(*iso-8859-1)                                 text1
B    3  Text/Plain(euc-jp)                                      text2
     4                                                          .    
--------0-1-2-3-4-5-6-7-8-9--------------------------------------------

Note that both `C' and `I' are not available on Bilingual Emacs.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.8 Replying to a message and deciding recipients

While you specify addresses of the To: and Cc: field for a new message by yourself, addresses are automatically prepared for a reply message.

For a reply message, Mew prepares addresses for the To: and Cc: fields according to the following rules:

If From: of the message to be replied is not from me:
Reply-To: doesn't exist in the message to be replied
Copy From: of the message to be replied to To: (1)
Copy To: and Cc: of the message to be replied to Cc: (2)
Reply-To: exists in the message to be replied
Copy From: and Reply-To: of the message to be replied to To: (3)
Copy To: and Cc: of the message to be replied to Cc: (4)
If From: of a message to be replied is from me:
Copy To: of the message to be replied to To: (5)
Copy Cc: of the message to be replied to Cc: (6)

If there are multiple entries for a certain address, they are unified. Addresses ended with ":;", which stands for anonymous recipients, are automatically removed.

Your addresses are automatically removed. Your addresses are automatically defined to `mew-mail-address-list' according to, for example, `mew-config-alist'. If you dislike this value, you can also explicitly set it as follows: follows:

 
(setq mew-mail-address-list
       '("^pooh@[a-z]*.aist-nara.ac.jp$"
         "^pooh@mew.org$"
         "^winnie@iijlab.net$"))

You can customize which fields are copied in the case (1)-(6) with the following variables:

If you want to reply only to the address specified by Reply-To:, configure as follows:

 
(setq mew-replyto-to-list '("Reply-To:"))
(setq mew-replyto-cc-list nil)

If you use `C-ua' or `C-uA', From: of the message to be replied is copied to To:, and Cc: becomes empty. You can use this to reply the sender only.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.9 Forwarding messages

To forward messages, type `f' or `F' in Summary mode. Then, Draft mode appears and the messages are already attached to the attachments region.

Also, you can prepare the attachments region by yourself, then copy (`c') the messages or make links (`l') to the messages. If the file name of the messages is numeric ([0-9]+), they are automatically considered as messages. `y' is very convenient because it make a link to the message displayed in Message mode.

By default, the entire message is forwarded. If you want to remove some parts of its header, define `mew-field-delete-for-forwarding'. The following is an example to remove "Received:" and "Return-Path:" when forwarded.

 
(setq mew-field-delete-for-forwarding '("Received:" "Return-Path:"))


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.10 Re-sending messages

You occasionally wish to send messages modifying the header of a message.

For instance, you may want to send a message with the same body to multiple receivers independently. Please imagine the case where you put a created message destined to pooh to +queue and then you wish to send an another message to piglet by copying it and modifying its header. Let's call this recycle sending.

Also, you occasionally wish to send a message adding the Resent-To: field to a target message. This is a kind of forwarding. This is called header conversion because a message header is modified. The forwarding described the previous subsection is called encapsulation because a message is embedded into another new message.

Header mode exists for this reason, modifying a part of the header, sending/queuing the created message. You can think this is a kind of Draft mode which prohibits modifications of its body.

The following commands are provided in Summary mode to enter Header mode.

`W'
Recycle sending. Enter Header mode in order to modify To:, Cc:, From: of a target message. Typical usage is for messages in +queue.
`r'
Re-sending. Enter Header mode in order to add Resent-To:, Resent-Cc:, Resent-From: of a target message. Re-sending may confuse receivers, so you should think carefully before using it.

In Header mode, you can make use of completion and circular completion like in Draft mode. When you are finished inputing header, send the message using one of the following commands. You may wonder because the body is not displayed. However, the body and a part of the target message is certainly used.

`C-cC-m'
Compose a message, put it into +queue, and let it be waiting to be sent.
`C-cC-c'
Compose a message and send it. You are asked, "Really send this message? (y or n) ". Type `y' to send it.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.11 Using PGP

This section describes to sign or encrypt "text only" message with PGP. The following commands are explained.

`C-cC-s'
Sign the entire draft with PGP. Input your pass-phrase.
`C-cC-e'
Encrypt the entire draft with PGP.
`C-cC-b'
Sign then encrypt the entire draft with PGP. Input your pass-phrase.
`C-cC-r'
Encrypt then sign the entire draft with PGP. Input your pass-phrase.

To encrypt a message, receivers' public keys are used. In the contrary, your secret key is used to sign a message. So, you need to input your pass-phrase when sign up. Note that if you use the pass-phrase cache and if pass-phrases are cached, you do not have to type your pass-phrase (See section 3.3 Visualizing PGP/MIME).

They are shortcut methods of mark based composing described in the next subsection.

If you use PGP with Mew, you have to select Email address for your PGP userid (e.g. "Kazuhiko Yamamoto ").

To sign a message, type `C-cC-s'. When signing, because your secret key is needed to be decrypted, you may ask your pass-phrase, if not cached. Created messages are stored in +queue.

Your secret key is identified by the address of From:. If From: does not exist, PGP automatically selects your default secret key. When you want to specify a secret key which is not identified the address of From:, type `C-uC-cC-s'.

To encrypt a message, type `C-cC-e'. A message is encrypted with public keys identified the addresses on To: and Cc:. Since this is encryption only, you are not asked your pass-phrase. Created cipher messages are stored in +queue.

This message is encrypted with your public key in addition to the receivers. So you can decrypt created messages. For example, you can go to +queue by `g' and preview a created message just in case.

To sign a draft and then encrypt it, type `C-cC-b'. To encrypt a draft and then sign it, type `C-cC-r'. In both cases, created messages are stored in +queue.

It is very likely that you forget to sign and/or encrypt a draft even if you want to do so. To resolve this, Mew provides automatic PGP mechanism for the massage creation function, `C-cC-m' or `C-cC-c'.

If you want to protect privacy of all drafts, set `mew-protect-privacy-always' to `t' and set `mew-protect-privacy-always-type' to one of PGP services.

If you want to protect privacy of drafts replying encrypted messages, set `mew-protect-privacy-encrypted' to `t' and set `mew-protect-privacy-encrypted-type' to one of PGP services. This configuration is preferred to the configuration for all drafts described above in the case of replying encrypted messages.

The following services are available. The strings in brace are symbol of each service. The service applied when typing `C-cC-m' or `C-cC-c' is displayed in the mode line.

pgp-signature (PS)
Sign
pgp-encryption (PE)
Encrypt
pgp-signature-encryption (PSPE)
Sign then encrypt
pgp-encryption-signature (PEPS)
Encrypt then sign

The following example is to sign all drafts.

 
(setq mew-protect-privacy-always t)
(setq mew-protect-privacy-always-type 'pgp-signature)

The following example is to encrypt drafts replying encrypted messages.

 
(setq mew-protect-privacy-encrypted t)
(setq mew-protect-privacy-encrypted-type 'pgp-encryption)

In Draft mode, `C-cC-pC-a' toggles `mew-protect-privacy-always' and `C-cC-pC-e' toggles `mew-protect-privacy-encrypted'.

You can specify privacy services for the current draft in Draft mode beforehand so that you don't forget to apply the privacy services when sending. To set privacy services to the current draft evaluated when typing `C-cC-m' or `C-cC-c', type `C-cC-pC-d' then input one of privacy services above.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.12 Mark based composer

To support PGP/MIME, mark based composing is provided. Remember the previous example.

 
----------------------------- attachments -----------------------------
      Multipart/Mixed                                         1/
     1  Text/Plain(guess)                                       CoverPage*
B    2  Image/Gif                    MagicPoint logo            mgp.gif
Q    3  Application/Postscript       Presentation Material      ohp.ps
     4                                                          .
--------0-1-2-3-4-5-6-7-8-9--------------------------------------------

You can find the `B' mark and the `Q' mark at the beginning of line. Mew provides you with a new concept of "encoding". Encoding includes Base64, Quoted-Printable, Gzip64 (Gzip + Base64), sign with PGP, encrypt with PGP.

Currently 6 marks are prepared.

`" "'
No encoding. But 8bit text would be encoded.
`B'
Base64
`Q'
Quoted-Printable
`G'
Gzip64 (compressed with gzip then encoded with Base64. This is experimental. Don't use this if receivers don't use Mew.)
`PS'
Sign with PGP
`PE'
Encrypt with PGP

Additional key binding for marks in attachments is as follows:

`B'
Put the `B' mark to encode with Base64.
`Q'
Put the `Q' mark to encode with Quoted-Printable.
`G'
Put the `G' mark to encode with Gzip64. This is applicable only to Text/Plain and Application/Postscript since compression is not effective other objects. For example, JPEG is already compressed.
`S'
Put the `PS' mark to sign with PGP.
`E'
Put the `PE' mark to encrypt with PGP. Input decryptors' addresses.
`U'
Unmark. The original mark appears.

Consider the following example. The second part will be signed with PGP then encrypted with PGP for "kazu". Take it easy! It's description is overwritten but saved. The third part will be encoded with Gzip64.

 
----------------------------- attachments -----------------------------
      Multipart/Mixed                                         1/
     1  Text/Plain(guess)                                       CoverPage*
PSPE 2  Image/Gif                    kazu@mew.org               mgp.gif
G    3  Application/Postscript       Presentation Material      ohp.ps
     4                                                          .
--------0-1-2-3-4-5-6-7-8-9--------------------------------------------

After putting marks, type `C-cC-m' or `C-cC-c' to create PGP/MIME messages.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.13 PGP key distribution

To distribute a PGP public key, please use `p' on attachments in Draft mode. It asks whose public key you want to distribute. Just type `RET' if it is yours. If you want to distribute another person's, input his Email address with completion. The PGP public key will distributed as Content-Type: Application/Pgp-keys.

If Mew finds that the part is Application/Pgp-keys, it tries to add the PGP public key onto your PGP public keyring. Remember that Mew is careless about both TRUST and VALIDITY. It is YOU who set these values. Please use commands described by Mew to change them. If you don't know what TRUST and VALIDITY is, you should learn the web of trust system provided by PGP BEFORE using PGP to protect your privacy.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.14 Sending messages with anonymous receivers

You occasionally wish to send a message to receivers with anonymous destinations.

For instance, please imagine that pooh is trying to invite multiple friends to party. Piglet should reply only to pooh. However, piglet would make a mistake of replying other people if friends are enumerated. Moreover, pooh does not want to disclose whom he invited until the day of the party.

To achieve this, Mew makes use of ":;" for anonymous destinations. Please look at the following example.

 
To: party:piglet@beech.tree.uk,roo@beech.tree.uk;
From: Pooh <winnie-the-pooh@100acre.woodwest.uk>

There is an explanation string "party" after ":". Then some addresses are enumerated separated by "," and are terminated by ";". If you write addresses in this format, Mew send the message to the addresses with them removed form the header. With this example, piglet and roo will receive the following message.

 
To: party:;
From: Pooh <winnie-the-pooh@100acre.woodwest.uk>

A receiver can understand that the sender is pooh, but can't understand who else received this. Also, the string "party:;" is not address, so the receiver can't reply to it.

You should understand that enumerating many addresses on To: or Cc: is not good essentially, anyway. If you have many chances to send messages to certain multiple people, you should create a mailing-list.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5. Funny marks

Here are described marks in Summary mode. Mark is displayed right side of message number as follows:

 
    1D 07/17 Itojun         Re: N+I 2001 Tokyo IPv6 ShowCase
    2o 07/18 Utashiro       kanda-izumiya
    38 07/19 Nom-sun        refile info.

There are four marks at present.

`D'
`X'
The mark to delete.
`o'
The mark to refile, that is, to move a message to another folder.
`@'
The mark to process messages at the same time.
`*'
The mark to review.

They are explained step by step.

5.1 Delete `D', `X'  
5.2 Refile `o'  
5.3 Multiple `@'  
5.4 Review `*'  
5.5 Deleting marks  
5.6 Mark strength  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.1 Delete `D', `X'

If you want to delete a message, type `d' in Summary mode to put the `D' mark on it. Take it easy. Since putting the `D' mark causes nothing, mistakes are not fatal. By default, typing `x' moves messages marked with `D' to the +trash folder.

To delete messages in the +trash folder really, there are two methods by default.

  1. Type `D' in Summary mode.
  2. Put the `D' mark in the +trash folder then type `x'.

So far, the word "by default" was repeated. This means that `mew-msg-rm-policy' is set to `'trashonly'. You can set one of the following values to `mew-msg-rm-policy'. Each explanation is about action when `x' is pressed.

`'totrash'
Refile to the +trash folder if not in the +trash folder. Just umark the 'D' mark if in the +trash folder.
`'always'
Really remove messages marked with 'D' always anyway.
`'trashonly'
Really remove messages marked with 'D' if in the +trash folder. In other folders, refile to the +trash folder.
`'uselist'
Really remove messages marked with 'D' if in a folder found in `mew-msg-rm-folder-list'. In other folders, refile to the +trash folder.
`other values'
Considered as 'trashonly.

Customize the action of `x' as you like.

It is convenient if you can change the `*' mark to the `D' mark since you can put many the `D' marks at once. To achieve this, use `md'.

There is also another mark `X' which is like the mark `X'. Messages marked with `X' are deleted when `x' is typed regardless the value of `mew-msg-rm-policy'. The `X' mark can be put by `M-d'.

The following is a summary regarding with the `D' mark and the `X' mark.

`d'
Put the `D' mark.
`M-d'
Put the `X' mark.
`x'
Process messages marked with `D' according to `mew-msg-rm-policy'. Also, delete messages marked with `X'.
`mxd'
Process messages marked with `D' only according to `mew-msg-rm-policy'.
`mxM-d'
Delete messages marked with `X' only.
`md'
Change all `*' mark to the `D' mark.
`mM-d'
Change all `*' mark to the `X' mark.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.2 Refile `o'

To refile a message, type `o' and input a folder name, then `o' is put. A folder is guessed neatly, so most time what you should to is just type `RET'. For more information, refer to See section 6. Happy refiling.

If you type `o' on a message marked with `o', the refile folder is shown. When typing `x', messages marked with `o' are actually refiled.

A summary about the `o' mark is here.

`o'
Put the `o' mark.
`x'
Refile messages marked with `o'.
`mxo'
Refile messages marked with `o' only. This command doesn't process other marks.
`mo'
Change all `*' marks to the `o' mark to be refiled.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.3 Multiple `@'

To process multiple messages, put the `@' mark. Here is a summary concerned with the `@' mark.

`@'
Put the `@' mark.
`F'
Prepare a draft to forward multiple messages marked with `@' in MIME format.
`M-s'
Apply unshar on messages marked with `@'.
`M-t'
Apply "uudecode" on messages marked with `@'.
`M-b'
De-capsulate messages embedded in the messages marked with `@'.
`J'
A large message is occasionally fragmented into multiple messages whose Content-Type: is Message/Partial. This command produces the original message from Message/Partial messages marked with `@'.

For `M-s' and `M-t', messages marked with `@' are supposed to be in order (numbers need not to be contiguous). If out of order, sorting with `S' would help.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.4 Review `*'

Please put the `*' mark onto messages that you want to review later. `?' also put the `*' mark onto matched messages (for more information, refer to See section 7. Selecting messages). Use `N' and `P' to walk around messages marked with `*'.

Here is a summary for `*' commands.

`*'
Put the `*' mark.
`N'
Jump to the message marked with `*' below and display it.
`P'
Jump to the message marked with `*' above and display it.
`M-n'
Display a message marked with `*' and find a keyword and highlight it in the forward direction. The keyword is stored in a buffer local variable in Summary mode and is set when you use `C-u?' or `C-u/' (see See section 7. Selecting messages). If no key word is set to the variable, this command first asks you a keyword. @samp C-uM-n The same as `M-n' except that you can change the stored keyword explicitly.
`M-p'
A reverse version of `M-n'.
`C-uM-p'
A reverse version of `C-uM-n'.
`ma'
Put the `*' mark to all unmarked messages.
`mr'
Put the `*' mark to all matching messages with inputed regular expression.
`md'
Change `*' marks to `D' mark. It is useful to delete messages selected by `?'.
`mo'
Change the `*' marks to the `o' mark. It is useful to refile messages selected by `?'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.5 Deleting marks

Refiling and deleting is not processed unless you type `x'. So, if you press `u' to unmark before you type `x', messages do not disappear accidentally.

Here is a summary for unmark commands.

`u'
Cancel the mark on this message.
`U'
Cancel all marks according to what you input.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.6 Mark strength

Marks are classified into two categories, "strong mark" and "weak mark". The same level mark can be overwritten. A strong mark can overwrite a weak mark.

When you put a mark, the following action is taken.

Strong marks :: `o' and `D'
If marks an unmarked message, display the next message. If overwrites, stay the current line.
Weak marks :: `*' and `@'
Stay the current line always.

Refer to See section 9.1 Summary mode to know which direction the cursor moves after putting a strong mark.

You can exchange marks as follows:

`m@'
`*' -> `@' :: It is useful when you pick messages by `?' then pass them to "uumerge" with `M-t'.
`m*'
`@' -> `*'
`ms'
`@' <-> `*'
`md'
`*' -> `D' :: It is useful when you put `D' marks to messages picked by `?'.
`mo'
`*' -> `o' :: It is useful when you put `o' marks to messages picked by `?'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6. Happy refiling

When you come to receive hundreds of messages in a day (don't you believe it?), refiling messages becomes a very tough job. Mew neatly guesses default folders where the message is supposed to be refiled when you type `o'. You can see an example below.

 
Folder name (+work/mew-dist): +

If the default value in () is proper, just type `RET'. The messages will be marked with `o' if its refiling folders are decided.

As you know, the more excellent refiling guess algorithms become, the less user's job troublesome. Mew provides you with the following rules.

6.1 Guess by mailing-list folders  
6.2 Guess by user defined rules  
6.3 Guess by thread  
6.4 Guess by private folders  
6.5 Guess by From:  
6.6 Guess by Newsgroups:  
6.7 Guess by default rule  
6.8 Controlling rules  
6.9 Auto refile  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.1 Guess by mailing-list folders

Many users tend to refile messages destined to a mailing-list to a folder whose name is the same as the mailing-list. Mew provides a mechanism to guess a mailing-list folder for messages destined to mailing-lists.

Suppose that you have a folder named +misc/pooh-lovers. The following message is probably to be refiled to this folder.

 
To: pooh-lovers@mew.org 

Likewise, Mew searches a matching folder forward with addresses on To: and Cc:. There are many people who don't use recursive folders. With Mew, however, you would not be smart if you don't use it.

Smart users may wonder that they get a trouble in the following situation where private addresses are on To: or Cc:.

 
To: piglet@mew.org
Cc: pooh-lovers@mew.org

Since pooh is a member of pooh-lovers, he receives this message. But he has a folder for his friend, pooh. So, +from/piglet may be chosen.

To avoid this, Mew allows you to specify which folders are to be ignored. The default is +from. So, please take a convention to refile personal messages under +from.

When Mew guesses a candidate by the folders, it asks you:

 
Folder name (+misc/pooh-lovers): +

Just type `RET' if the default is exactly what you want.

If you specify a new folder with `o', the folder is created and added to the folder list to be used for guess. Convenient, isn't it?

The function name to provide this feature is `mew-refile-guess-by-folder'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.2 Guess by user defined rules

There are some cases where the refile guess mechanism by folders doesn't work as you wish. For example, for both a message whose To: is staff@mew.org and another message whose To: is staff@iijlab.net, the same folder would be selected with guess by folders (e.g. "+net/staff"). So, Mew allows you to define your own rules explicitly.

Let's look at an example.

 
(setq mew-refile-guess-alist
  '(("To:"
      ("staff@mew.org" . "+net/mew/staff")
      ("staff@iijlab.net" . "+net/iijlab/staff"))))

This means that if To: contains staff@mew.org +net/mew/staff is selected and if To: has staff@iijlab.net +net/iijlab/staff is chosen.

The format of this rule is as follow:

 
rule ::= '((<key> <alist>) (<key> <alist>) (<key> <alist>) ...)

The whole is a list of (<key> <alist>). A field name is specified for <key>. The format for <alist> is as follows:

 
<alist> ::= (<value> . <folder>|<rule>) (<value> . <folder>|<rule>) ...

<value> is a field value for <key>. <folder> means a folder to be chosen if matched. Please note that <value> and <folder> is separated with `.'.

There are two special <key>s: `nil' and `t'. `nil' is used to specify <value> to be returned when nothing is guessed. `t' is for <value> to be returned in addition to guessed values.

If you know regular expression, a more advanced rule can be defined like this.

 
(setq mew-refile-guess-alist
  '(("Newsgroups:"
    ("^nifty\\.\\([^ ]+\\)" . "+Nifty/\\1")
    (".*"         . "+rec/news"))
   ("To:"
    ("\\(inet\\|wide\\)@wnoc-fuk" . "+wide/\\1-wnoc-fuk"))
   ("From:" 
    ("uucp@"      . "+adm/uucp")
    ("ftpsync@"   . "+adm/ftpsync"))
   (nil . "+unknown")))

The function name to provide this feature is `mew-refile-guess-by-alist'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.3 Guess by thread

Mew provides a mechanism to guess a folder where the parent message of a current message was refiled before.

For example, pooh, piglet, and roo had a chat to go and get honey. So, pooh made +project/honey then refiled the message to it. The further messages, if they are properly replied, they are supposed to be refiled to +project/honey.

Information that which folder was chosen for messages is stored to "~/Mail/.mew-refile-msgid-alist". `mew-lisp-max-length' controls the amount of this information. The default value is 1000 messages. If you want limits it to 2000 messages, put the following to "~/.mew.el".

 
(setq mew-lisp-max-length 2000)

The function name to provide this feature is `mew-refile-guess-by-message-id'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.4 Guess by private folders

In addition to the mechanism to select a mailing-list folder described in See section 6.1 Guess by mailing-list folders, Mew provides a mechanism to choose a private folder. Since private folders locate under +from, we can say that this mechanism select a folder from the folders under +from. Let's see the following example:

 
To: pooh@mew.org
From: piglet@mew.org

pooh received a message from piglet. If pooh uses this mechanism, +from/piglet will be chosen according to From:. (Folders under +from can be recurse. And you can select the entire address for a folder name instead of the user part.)

The function to provide this feature is `mew-refile-guess-by-from-folder'.

Next, let's consider a care where pooh replied to piglet. Since pooh Cc:ed the message to himself, the message was also delivered to him.

 
To: piglet@mew.org
Cc: pooh@mew.org
From: pooh@mew.org

How do you feel if you are pooh? You may want to refile this to +from/pooh. Also, you may want to move this to +from/piglet. So, it can be customized.

If `mew-refile-guess-from-me-is-special' is `t' and if an address in From: is yourself, `mew-refile-guess-by-from-folder' select a folder under +from according to To: and/or Cc:.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.5 Guess by From:

Mew also provides a mechanism to guess a folder by the place where a message that has the same From: field is refiled.

Suppose that piglet has two addresses, piglet@beech.tree.uk and p-p-p@mew.org. pooh wants to refile messages from piglet to +from/piglet no matter what his From: is. This policy can, of course, be implemented if pooh specifies rules explicitly as follows:

 
(setq  mew-refile-guess-alist
  '(("From:"
      ("piglet@beech.tree.uk" . "+from/piglet")
      ("p-p-p@mew.org"        . "+from/piglet"))))

But such a work may bother you. So, first refile a message whose From: is piglet@beech.tree.uk to +from/piglet. At this time, +from/piglet is created. Next, refile a message whose From: is p-p-p@mew.org to +from/piglet. Here Mews learns that p-p-p@mew.org was refiled to +from/piglet. After this, when messages whose From: is p-p-p@mew.org are refiled, +from/piglet is chosen.

For another example, you can refile messages from machinery to +adm/misc without defining an explicit rule.

Information for relationship between From: and folder is stored to "~/Mail/.mew-refile-from-alist". `mew-lisp-max-length' controls the amount of this information as the same as See section 6.3 Guess by thread.

The function name to provide this feature is `mew-refile-guess-by-from'.

If the value of `mew-refile-guess-from-me-is-special' is `t', `mew-refile-guess-by-from' acts as `mew-refile-guess-by-from-folder' (See section 6.4 Guess by private folders).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.6 Guess by Newsgroups:

For those who read NetNews received by Email with Mew, Mew provides a mechanism to guess a folder by Newsgroups:. It will be also useful when Mew integrates NetNews in the future. The function name to provide this feature is `mew-refile-guess-by-newsgroups'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.7 Guess by default rule

The default rule is to extract an address from From: and to choose `+from/user@domain'. But if `mew-refile-guess-strip-domainpart' is `t', it extracts the user part. So, `+from/user' is chosen.

The function name is `mew-refile-guess-by-default'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.8 Controlling rules

Mew controls guess rules by two variables, `mew-refile-guess-control' and `mew-refile-ctrl-multi'. If you want multiple candidates, set `mew-refile-ctrl-multi' `t'. Otherwise, set it `nil'.

By default, `mew-refile-guess-control' is declared as follows (since it is a declaration, `defvar' is used):

 
(defvar mew-refile-guess-control
  '(mew-refile-guess-by-alist
    mew-refile-ctrl-throw
    mew-refile-guess-by-newsgroups
    mew-refile-guess-by-folder
    mew-refile-ctrl-throw
    mew-refile-ctrl-auto-boundary
    mew-refile-guess-by-thread
    mew-refile-ctrl-throw
    mew-refile-guess-by-from-folder
    mew-refile-ctrl-throw
    mew-refile-guess-by-from
    mew-refile-ctrl-throw
    mew-refile-guess-by-default))

Mew executes every function defined in `mew-refile-guess-control' in order. Each function may guess multiple candidates.

Let's see the following example of `mew-refile-guess-control' action.

`mew-refile-guess-by-alist'
guessed +aaa, +bbb.
`mew-refile-guess-by-folder'
guessed +ccc, +ddd.
`mew-refile-guess-by-default'
guessed +eee.

If you want to provide all candidates, +aaa - +eee, set `mew-refile-ctrl-multi' `t'. If you want to provide +aaa only, set it `nil'.

If you want +aaa - +ddd but don't want left candidates, in other words, you want +eee only when no candidate is guessed by functions executed before, set `mew-refile-ctrl-multi' `t' and insert `mew-refile-ctrl-throw' between `mew-refile-guess-by-folder' and `mew-refile-guess-by-default'.

`C-uo' displays the flow of guess rules in Message buffer.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

6.9 Auto refile

Those who receives many messages everyday is prone to store thousands of messages in the +inbox folder. In such a case, they may want to speak out like this, "Hey messages, get out of the +inbox folder to somewhere". Mew provides a feature to satisfy such laziness. :) `M-o' is the spell.

When you execute this function, it marks specific messages with `o'. The specific messages mean messages which are not marked with `o' nor `D' if `mew-refile-auto-refile-skip-any-mark' is `nil'. If `mew-refile-auto-refile-skip-any-mark' is `t', they mean non-marked messages. The default value of `mew-refile-auto-refile-skip-any-mark' is `nil'.

`C-uM-o' targets messages marked with `*' regardless the value of `mew-refile-auto-refile-skip-any-mark'.

Refile rule is the same described in the previous section. Please note that what this function does is just mark messages with `o'. Messages are not refiled until you will press `x'.

Mew's refile mechanism is so smart that it would be harmful for this function. That is, most users would not understand where messages have been refiled if Mew made most use of its guess mechanism. :) For this reason, break is provided to limit usage of guess functions. Recall the declaration up above.

 
(defvar mew-refile-guess-control
  '(mew-refile-guess-by-alist
    mew-refile-ctrl-throw
    mew-refile-guess-by-newsgroups
    mew-refile-guess-by-folder
    mew-refile-ctrl-throw
    mew-refile-ctrl-auto-boundary
    mew-refile-guess-by-thread
    mew-refile-ctrl-throw
    mew-refile-guess-by-from-folder
    mew-refile-ctrl-throw
    mew-refile-guess-by-from
    mew-refile-ctrl-throw
    mew-refile-guess-by-default))

You can find the `mew-refile-ctrl-auto-boundary' function in `mew-refile-guess-control'. Only when auto refile is used, Mew ignores guess functions below this function. If guess functions above `mew-refile-ctrl-auto-boundary' didn't guess any folder for a message, the message is not marked with `o'. Insert `mew-refile-ctrl-auto-boundary' before you ruin.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7. Selecting messages

You may want to pick up messages whose Subject: contains a string "party" and whose From: is kazu@mew.org. Mew provides three methods to accomplish this.

`?'
Pick messages according to a pick pattern which you input, then put the `*' mark onto them.
`/'
Go to Virtual mode which gives a single view to picked messages from multiple folders. Enter a virtual folder name, comma-separated folders, and pick pattern.

These commands select messages by using "mewls". "mewls" targets headers only. If you want to select messages whose body contain a certain keyword, use another external command ("grep" by default). If you use `C-u?' or `C-u/', they executes the external command instead of "mewls".

Following sections describes how to input conditions and Virtual mode in detail.

7.1 How to input conditions  
7.2 Virtual mode  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.1 How to input conditions

When Mew asks a user to input pick pattern, the following message is displayed.

 
Pick pattern: 

Input pick pattern combining the following expressions (which are listed in the strong order):

`field=string'
Match if the "field" field contains the "string" string (case-insensitive). If you specify "head", it means the entire header.
`field==string'
Match if the "field" field contains the "string" string (case-sensitive). If you specify "head", it means the entire header.
`field!=string'
Match if the "field" field does not the "string" string (case-insensitive). If you specify "head", it means the entire header.
`field!==string'
Match if the "field" field does not the "string" string (case-sensitive). If you specify "head", it means the entire header.
`( <pattern> )'
Evaluate <pattern> first.
`! <pattern>'
Match if not <pattern>.
`<pattern1> & <pattern2>'
Match if <pattern1> AND <pattern2>.
`<pattern1> | <pattern2>'
Match if <pattern1> OR <pattern2>.

Some examples are shown below.

(a) Messages whose From: contains "kazu".

 
from=kazu

(b) Messages whose To: contains "mew" OR Cc: contains "mew".

 
to=mew | cc=mew

(c) Messages whose To: contains "mew" OR Cc: contains "mew" AND From: contains "kazu".

 
(to=mew | cc=mew) & from=kazu

Now you can guess how to input more complex patterns.

If you want to select messages which contains a certain keyword in its header or its body, type `C-u?' or `C-u/' to call an external command. In this case, you are asked as follows:

 
Grep pattern: 

Please input a keyword solely. (Don't input expressions up above.) By the way, if you want to display a portion which contains selected keyword, use `M-n' or `M-p' (see See section 5.4 Review `*').


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.2 Virtual mode

Virtual mode gives you a single view for matching messages from multiple folders. Press `/' in Summary mode to enter Virtual mode.

First you are asked a name of virtual folder

 
Virtual folder name (virtual) : 

Input an appropriate string. If you type just `RET', "++virtual" is selected. Then you are asked to input a single or multiple folder name. If you want to specify multiple folders, please separate them with ",". Of course, you can complete folder names with `TAB'.

 
Folder name (+inbox) : +inbox, +mew

Now input conditions.

 
Pick pattern: 

OK. You get a Virtual mode. In Virtual mode, you can use most commands that you can find in Summary mode. You should take note that Virtual folder is really virtual and it does not exist in file system. If you exit Mew, it then disappears.

If you put a mark on a message in Virtual mode, the mark is also put onto the corresponding message in Summary mode. But if you put a mark on a message in Summary mode, the mark is not put any corresponding messages in Virtual mode.

You cannot process marks in Virutal mode. Even if you type `x' to process marks in Virutal mode, you will be asked to move Summary mode. Also, if you type `x' in Virtual mode for thread, the cursor moves to corresponding Summary mode and you are asked to type `x' again.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

8. Give me a break

Here are how to quit and suspend Mew and how to erase a mode (buffer).

<Summary mode and Virtual mode>

`q'
Suspend Mew then switch to another buffer. All buffers of Mew remain, so you can resume with buffer operations.
`Q'
Quit Mew. All buffers of Mew are erased.
`C-cC-q'
Erase the current mode (buffer).

<Draft mode and Header mode>

`C-cC-q'
Erase the draft.

<Addrbook mode>

`C-cC-q'
Erase the buffer.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9. Customizing Mew

Here are explained how to change default setting of Mew and make Mew your favorite. Edit "~/.mew.el" to do it!

9.1 Summary mode  
9.2 Message mode  
9.3 Draft mode  
9.4 Highlighting  
9.5 Hooks  
9.6 Receiving messages  
9.7 Sending messages  
9.8 Changing receiving/sending behavior  
9.9 Miscellaneous  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.1 Summary mode

You can specify the format of Summary mode by `mew-scan-form'. The default value is as follows:

 
'(type (5 date) " " (14 from) " " (0 subj))

Like this, `mew-scan-form' is a list of list, symbol, and string.

  1. A string is printed as it is.
  2. A list consists of an integer and a symbol. The symbol specifies a function to be called. The name of the function is produced by concatenating "mew-scan-from-" and the symbol name. (e.g. `mew-scan-form-date' for the symbol 'date'). Pre-defined symbols are 'type, 'time, 'date, 'year, 'size, 'from, and 'subj. For more details, see the explanation of the functions called `mew-scan-form-<symbol>'. The integer specifies the width of field which will be filled with a return string of the function. A positive value means padding SPCs on the right if necessary. A negative value means padding SPCs on the left if necessary. If a negative value is specified, the corresponding function must return an ASCII string. 0 means the remaining width of the line and is treated as a positive value.
  3. A symbol is equivalent to (1 symbol).
  4. If the first element of `mew-scan-form' is an integer N, this integer is converted into '((N num) mark). Otherwise, '((-5 num) mark) is appended to `mew-scan-form'. Also note that users must NOT use the symbol 'num and 'mark in `mew-scan-form'.

An example is as follows:

 
(setq mew-scan-form
      '(type (5 date) " " (-4 size) " " (14 from) " " (0 subj)))

`mew-scan-form-from-me-prefix' is the prefix to be prepend to an destination address if the message is originated by me. The default is "To:".

`mew-scan-form-extract-rule' is a list to specify what part to extract from the From: field. Each element must be 'name, 'comment, 'address, 'nickname, or appropriate "regex". The default value is '(nickname).

Consider the following examples:

 
A: Kazu Yamamoto <kazu@mew.org>
B: kazu@mew.org (Kazu Yamamoto)
C: Kazuhiko Yamamoto (Kazu) <kazu@mew.org>

Each element returns the following value:

  1. 'name:: Name part, if any
     
    A. Kazu Yamamoto
    B. (No match)
    C. Kazuhiko Yamamoto (Kazu)
    
  2. 'comment:: Comment part, if any
     
    A: (No match)
    B: Kazu Yamamoto
    C: (Kazu)
    
  3. 'address:: Address part
     
    A: kazu@mew.org
    B: kazu@mew.org
    C: kazu@mew.org
    
  4. 'nickname:: one element of personal information in Addrbook according to `mew-addrbook-for-summary'. The default value of `mew-addrbook-for-summary' is `'nickname'. So, From: is converted a nickname by default. To know what kind of value can be used, refer to See section 9.3 Draft mode.
  5. (regex):: The substring first matched.

If a element does not match, the next element is applied. If no element matches to the From: field, or this value is `nil', the whole of the From: field is used.

If `mew-scan-form-mark-delete' is `t', the `D' mark automatically is put onto duplicated messages. The default is `nil'.

If `mew-scan-form-mark-review' is `t', the `*' mark automatically is put onto messages destined to me. The default is `nil'.

When you customize `mew-scan-form', the position of thread indentation would be different. In this case, you should set the value to `mew-thread-column'.

If you want to use Mew with full Emacs frame, set like this.

 
(setq mew-window-use-full t)

`SPC' in Summary mode decide the next action to view a message according to `mew-summary-show-direction'. Likewise, you can specify the cursor direction after putting a strong mark by `mew-summary-mark-direction'. You can select one from the following candidates.

`up'
Display the message above.
`down'
Display the message below.
`next'
Display the next message in the direction.
`stop'
Do not display the next message.

The default value for both is `next'. If you read messages from the bottom, set as follows:

 
(setq mew-summary-show-direction 'up)


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.2 Message mode

It is impossible to display a file, whose data type is not supported by Emacs, to Message mode. In this case, if there is an appropriate external application, it can be displayed with the application. Typing `C-cC-e' on a part in Summary mode executes an external application showed in Message mode, and displays the file with it.

If you want to specify another external application rather than the application showed in Message mode, type `C-cC-y'. If you want to specify a data type and to execute an application according to the data type, use `C-uC-cC-e'.

To insert a raw format of a part into Message mode, type `C-cTAB'. (To insert a raw format of the entire message, type `,'.)

If you just install Mew, an external application like "netscape" is necessary to display Text/Html. In this situation, Text/Html is treated as a part or a body of a message, and explanation to execute an external application is shown in Message mode. Typing `C-cC-e' on the part or the message lets the application display the Text/Html. When you type `C-cC-e' on the message, only body part is passed to the application.

Set your favorite external application for Text/Html to `mew-prog-text/html-ext'. The following is an example in the case of "mozilla". (Also, configure `mew-prog-text/html-ext-arg' by setting application arguments if necessary.)

 
(setq mew-prog-text/html-ext "mozilla")

If you install multilingualized "w3m" and "w3m.el", Text/Html can be displayed in Message mode. When you install both of them, add the following to "~/.mew.el'.

 
(condition-case nil
    (require 'mew-w3m)
  (file-error nil))
(setq w3m-type 'w3m-m17n)

With this, Text/Html can be displayed in Message mode as if it were Text/Plain. Even in this situation, `C-cC-e' is a valid operation.

Recently there are many message whose have Mulatipart/Alternative, which consists of Text/Plain and Text/Html. By default, Mew selects Text/Plain. When you install "w3m.el", you may want to choose Text/Html. In this case, add the following to "~/.mew.el". (Now, it's good idea to get back to See section 3.2 Displaying MIME to review how to use `:'.)

 
(setq mew-mime-multipart-alternative-list
      '("Text/Html" "Text/Plain" ".*"))

If you install "wvHtml", "xlHtml", "pptHtml", you can display text parts of WORD, Excel, and PowerPoint file in Message, respectively. Since these commands uses HTML, the configuration of Text/Html above is required. Also, you need to install Mule-UCS because UTF-8 is required.

With this, a WORD file, for example, can be displayed in Message mode as if it were text. Also, typing `C-cC-e' explicitly displays it in Message mode as text.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.3 Draft mode

Define `mew-cc' to use Cc:. When replying, another Cc: field may be prepared from the target message. If there are multiple Cc: fields, they are combined to one field on sending.

If you want to receive your originating messages for backup without specifying your address, use Dcc:. Set your address to `mew-dcc'.

Set header fields that you want to insert every time when you write messages to `mew-header-alist' as an associate list. The following is an example.

 
(setq mew-header-alist
      '(("X-fingerprint:" . "6B 63 38 88 67 5E 96 8E  CE A4 62 73 3F 11 64 94")
        ("X-URL:" . "http://www.Mew.org/~kazu/")))

To customize citation label, define field to cite in `mew-cite-fields' and format in `mew-cite-format'. Define citation prefix to `mew-cite-prefix'. The default declaration is as follows:

 
(defvar mew-cite-fields '("From:" "Subject:" "Date:"))
(defvar mew-cite-format "From: %s\nSubject: %s\nDate: %s\n\n")
(defvar mew-cite-prefix "> ")

To add Message-ID: to citation label, take this way.

 
(setq mew-cite-fields '("From:" "Subject:" "Date:" "Message-ID:"))
(setq mew-cite-format "From: %s\nSubject: %s\nDate: %s\nMessage-ID: %s\n\n")

To add a user part of an address to the citation prefix, configure as follows:

 
(setq mew-cite-prefix-function (function mew-cite-prefix-username))

With this, the citation prefix becomes like this:

 
From: SUMIKAWA Munechika <sumikawa@ebina.hitachi.co.jp>
Subject: Wine
Date: Wed, 23 Jul 1997 11:40:50 +0900

sumikawa> Hi, it's Sumikawa, the neat from good morning to good night.
sumikawa>
sumikawa> Talking the party of wonderful wine, I would propose Cabernet 
sumikawa> Sauvignon, Bordeaux, '89. It would be great if Pinot Noir
sumikawa> is blended a bit.

Both an address in the citation label and the citation prefix can be converted to an element of a personal information in Addrbook. They can be configured by `mew-addrbook-for-cite-prefix' and `mew-addrbook-for-cite-label', respectively. The default values are `nil' and `'username', respectively. You can set out of the following values. them

'shortname
Short name
'address
Address
'username
User part of address
'nickname
Nickname
'name
Full name

Let's consider the following example.

 
(setq mew-addrbook-for-cite-label 'nickname)
(setq mew-addrbook-for-cite-prefix 'nickname)

With the first line, an address in the citation label is replaced with its nickname. The second line indicates that the cite prefix is replaced with its nickname.

 
From: sumitch
Subject: Wine
Date: Wed, 23 Jul 1997 11:40:50 +0900

sumitch> Hi, it's Sumikawa, the neat from good morning to good night.
sumitch>
sumitch> Talking the party of wonderful wine, I would propose Cabernet 
sumitch> Sauvignon, Bordeaux, '89. It would be great if Pinot Noir
sumitch> is blended a bit.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.4 Highlighting

If `mew-use-highlight-mark' is `t', marked message are highlighted. The default is `t'.

If `mew-use-highlight-header' is `t', the header of a message is highlighted. The default is `t'.

If `mew-use-highlight-body' is `t', the body of a message is highlighted. The default is `t'. The limit to be highlighted can be set by `mew-highlight-body-max-size'. The default is 10000 bytes.

If `mew-use-highlight-url' is `t', a spell is casted to URL strings in a message. So, when you move the cursor onto the URL, it is highlighted. The default is `t'.

If `mew-use-cursor-mark' is `t', the mark specified `mew-cursor-mark' is putted to the beginning of the current line. The default is `nil'. The default of `mew-cursor-mark' is ">".

If `mew-use-highlight-cursor-line' is `t', underline is put on the cursor line in Summary mode. The default is `t'.

If `mew-use-highlight-mouse-line' is `t' on Graphical Emacs, the mouse line is painted in Summary mode. This is very convenient to read messages clicking the middle button of the mouse. The default value is `nil'.

If `mew-use-highlight-x-face' is `t' on Graphical Emacs, X-Face: in a header is iconified in Message mode. The default value on Graphical Emacs is `t'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.5 Hooks

Here is a summary of hooks used in Mew.

`mew-env-hook'
Hook called at initialize time before setting environment.
`mew-init-hook'
Hook called at initialize time.
`mew-summary-mode-hook'
Hook called in Summary mode.
`mew-virtual-mode-hook'
Hook called in Virtual mode.
`mew-thread-display-hook'
Hook called after new threads are displayed.
`mew-header-mode-hook'
Hook called in Header mode.
`mew-draft-mode-hook'
Hook called in Draft mode.
`mew-draft-mode-newdraft-hook'
Hook called in Draft mode only when new draft is prepared.
`mew-draft-mode-reedit-hook'
Hook called in Draft mode when a message not in +draft is re-edited.
`mew-draft-mode-reedit-draft-hook'
Hook called in Draft mode when a message in +draft is re-edited.
`mew-draft-mode-edit-again-hook'
Hook called in Draft mode when a message returned with the old sytale is edited again.
`mew-message-mode-hook'
Hook called in Message mode.
`mew-message-hook'
Hook called whenever message displayed.
`mew-make-message-hook'
Hook called before making a message in Draft mode. A good example is as follows: (add-hook 'mew-make-message-hook 'ispell-message)
`mew-send-hook'
Hook called before sending a message in Draft mode.
`mew-real-send-hook'
Hook called before really sending/queuing a message in Draft mode
`mew-smtp-sentinel-hook'
Hook called when a SMTP process finished.
`mew-smtp-flush-hook'
Hook called after the queue is flushed.
`mew-suspend-hook'
Hook called on suspend.
`mew-quit-hook'
Hook called on quit.
`mew-pop-sentinel-hook'
Hook called when a POP process finished.
`mew-pop-sentinel-non-biff-hook'
Hook called when a non-Biff POP process finished.
`mew-scan-sentinel-hook'
Hook called when scan finished.
`mew-summary-ls-no-scan-hook'
Hook called when mew-summary-ls doesn't scan a folder.
`mew-summary-exec-hook'
Hook called when mew-summary-exec finished.
`mew-summary-toggle-disp-msg-hook'
Hook called when `v' in Summary finished.
`mew-syntax-format-hook'
Hook called when mew-syntax-format is called.
`mew-addrbook-mode-hook'
Hook called in Addrbook mode.
`mew-cite-hook'
Hook for an external cite mechanism. If you want to use super-cite, (setq mew-cite-hook 'sc-cite-original).
`mew-before-cite-hook'
Called in mew-summary-reply-with-citation before citation.

Here are some example configurations of hook

Draft mode evaluates `text-mode-hook' and `mew-draft-mode-hook' in order. If you don't set `auto-fill-mode' to `text-mode-hook', It would be useful to define `mew-draft-mode-hook' as follows:

 
(setq mew-draft-mode-hook (function (lambda () (auto-fill-mode 1))))


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.6 Receiving messages

Mew uses POP to retrieve messages. This section describes following variables to control POP.

`mew-pop-delete'
Wether or not delete messages on a POP server after retrieval by POP. The default is `t'.
`mew-pop-size'
The limit size of messages to be retrieved from a POP server. The default is 55296 byte. 0 means unlimited, so you can get all messages from the POP server.
`mew-pop-body-lines'
How many lines of a body do Mew retrieve if the size of the message is over `mew-pop-size'. The default is 40.
`mew-pop-server'
A name of POP server.
`mew-pop-ssh-server'
A name of SSH server in the case POP is running over SSH.
`mew-pop-user'
An account name of POP. The default is your login name.
`mew-pop-auth'
An authentication mechanism of POP. `'apop' means APOP, `'pass' is USER/PASS (raw password), `t' indicates POP AUTH based on SASL. The default is `'apop'.
`mew-pop-auth-list'
A list of POP AUTH mechanism. The preferred order. The default is '("CRAM-MD5" "PLAIN" "LOGIN").
`mew-use-biff'
Whether or not use Biff by POP. The default is `nil'. You should set `mew-use-cached-passwd' to `t'. As far as Biff for a local mailbox, use `display-time-mode'.
`mew-use-biff-bell'
Whether or not bell when the POP server status changes from no message to some messages.
`mew-pop-biff-interval'
The interval time for Biff queries to a POP server. The unit is minutes. The default is 5.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.7 Sending messages

Mew uses SMTP to send messages. This section describes following variables to control SMTP.

`mew-smtp-server'
A name of SMTP server.
`mew-smtp-ssh-server'
A name of SSH server in the case SMTP is running over SSH.
`mew-smtp-auth'
Whether or not use SMTP AUTH. The default is `nil'.
`mew-smtp-auth-list'
A list of SMTP AUTH mechanism. The preferred order. The default is '("CRAM-MD5" "PLAIN" "LOGIN").
`mew-smtp-user'
An account name of SMTP AUTH. The default is your login name.
`mew-smtp-helo-domain'
A server name used by the SMTP HELO command. The default is "localhost".
`mew-smtp-mail-from'
An e-mail address used by the SMTP MAIL FROM command. If `nil', the e-mail address in the From: field is used. The default is `nil'.
`mew-smtp-msgid-user'
A user name for creation of Message-Id:. If `nil', the value of `mew-user' is used. The default is `nil'.
`mew-smtp-msgid-domain'
A domain name for creation of Message-Id:. If `nil', the value of `mew-mail-domain' is used. The default is `nil'.
`mew-use-8bit'
Whether or not send 8bit text without MIME encoding. If `nil', an appropriate MIME encoding is applied. The default is `nil'.

 
message-id = *random*.user@smtp-msgid-domain


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.8 Changing receiving/sending behavior

With `mew-config-alist', you can differ actions of sending/receiving messages. Let's look at the following example:

 
(setq mew-config-alist
      '(("home"
         ("inbox-folder"   . "+inbox-home")
         ("pop-server"     . "pop.iij4u.or.jp"))
        ("ext"
         ("pop-ssh-server" . "ssh.mew.org"))
        ("default"
         ("pop-server"     . "pop.mew.org"))))

This example defines three cases: "home", "ext", "default". For each case, some pair of key and value are defined.

We explain the semantics of `mew-config-alist' with this example. If the case is "home", looking up "pop-server" results in "pop.iij4u.or.jp". If the case is "ext", looking up "pop-server" results in "pop.mew.org" since there is no specified key for the case and the "default" is used. If the case is "default", looking up "pop-server" results in "pop.mew.org".

If the case is "home", looking up "inbox-folder" results in "+inbox-home". If the case is "ext", looking up "inbox-folder" results in the value of `mew-inbox-folder' since there is no specified key for both "ext" and "default". If the case is "default", looking up "inbox-folder" also results in the value of `mew-inbox-folder'.

Each key which can be specified in `mew-config-alist' corresponds to the variable `mew-"key"'. The following list enumerates such keys.

 
"name", "user", "mail-domain", 
"smtp-msgid-domain", "smtp-msgid-user", "cc", "fcc", "dcc", "reply-to",
"organization", "header-alist", "smtp-server", "smtp-port",
"smtp-ssh-server", "smtp-helo-domain", "smtp-mail-from", "smtp-user",
"smtp-auth", "smtp-auth-list", "pop-server", "pop-port",
"pop-ssh-server", "pop-user", "pop-auth", "pop-size", "pop-body-lines",
"pop-delete", "mailbox-type", "mbox-command", "mbox-command-arg",
"inbox-folder", "queue-folder", "nntp-server", "signature-file",
"content-type"

A value for From: is made of "name", "user", "mail-domain" according to the following rule:

 
from = name <user@mail-domain>

Unless you set `mew-from-list' by yourself, `mew-from-list' is automatically set collecting "from" for each case according to the rule above. See See section 4.2 Circular completions in a header.

Cases configured in `mew-config-alist' can be specified to the receiving case and the sending case. When Mew boots up, both the receiving case and the sending case are "default".

If you want to change both the receiving case and the sending case, type `C'. You can input a case with completion.

If you set `mew-case-synchronize' to `nil', you can specify the receiving case and the sending case independently. With this configuration, `C' is for the receiving case and `C-uC' is for the sending case.

If one of the cases or both are not "default", they are displayed in the mode line of Summary mode. The following is an example where the receiving case is "home" and the sending case is "ext".

 
(Summary home:ext)

In Draft mode, if the sending case is not "default", the value is displayed in mode line. The following is an example that the sending case is "home".

 
(Draft home)

To change the sending case of a draft in Draft mode, use `C-cC-o'. Its header is dynamically modified according to the value of the "mail-domain" key and the "header-alist" key. Note that the sending case is a local variable of the Draft mode.

You can automatically set the sending case in Draft mode.

`mew-case-guess-when-prepared'
If this variable is `t', the sending case is automatically guessed according `mew-case-guess-alist' when a draft is prepared. The default is `t'.
`mew-case-guess-when-composed'
If this variable is `t', the sending case is automatically guessed according `mew-case-guess-alist' when a message is composed. The default is `nil'. The default is `nil'
`mew-case-guess-when-replied'
If this variable is `t', the sending case is automatically guessed according `mew-case-guess-alist' when a draft is prepared by replying. The default is `t'.

The syntax of `mew-case-guess-alist' and `mew-case-guess-when-replied-alist' is the same as `mew-refile-guess-alist'. For more information, please refer to See section 6.2 Guess by user defined rules.

The following is a summary of commands concerned with case.

`C'
In Summary mode, set the receiving case or both cases. If `mew-case-synchronize' is `t' (this is default), set both cases. If `nil', set the receiving case only.
`C-uC'
In Summary mode, set the sending case or both cases. If `mew-case-synchronize' is `t', set both cases. If `nil', set the sending case only.
`C-cC-o'
In Draft mode, set the sending case of a draft.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

9.9 Miscellaneous

In a certain environment, it would be useful to encode a file with SAMBA encoding when saving an attached file. For this, set `mew-use-samba-encoding' to `t'. You can set `mew-cs-samba' to a character set for the file name. The default is `shift_jis'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10. Email convention

When you exchange messages with other people, you should obey minimum manner. It gives a bad impression to the people if you violate the manner since such messages are hard to read. We always should try to write concise yet comprehensive explanations and make an effort to make receivers well-understood.

We should take good care of the following items.

Fill To: and Cc: fields precisely
To: is for target receivers and Cc: is for those who are received for their information. If his address is not on To:, he might skip to read the message. We should take care not to deliver to wrong people by mistaking the addresses.

The number of addresses To: and Cc: should be small
It is discouraged to specify a lot of mail addresses on To: and Cc:. You should create a mailing-list instead. Or, if necessary, you should make the destination anonymous (See section 4.14 Sending messages with anonymous receivers).

Write a short and clear summary of body in Subject:
There are people who decide to read contents from their Subject:. So, they might skip messages with improper Subject:. We should not write a long subject since it is hard to read.

Carriage return means end of line and null line expresses end of paragraph. One line should be limited to 70 characters or so.
It is very hard to read if you write a message on every other line or in a long line without folding. Especially long lines are trouble to cite. Some people write a message with indent but it is meaningless. Text is displayed differently on each machines, so even if the layout is excellent on your machine, it might not be so on other machines.

Cite only necessary sentences
You should not bother to remove unnecessary sentences. With Mew, citation must be a piece of cake.

Make your signature simple
A long signature is just self-satisfaction.

Do not send prank messages
I don't want to warn this kind of stuff. Nonetheless, someone sends Happy or Unhappy messages to others. You should understand that people doubt your character.

Attach data files that the receivers can read
It is text only that you can send without any agreement with the receivers. If you want to send data files other than text, you should make an agreement with the receivers. To mailing-list, you should send text only.

If you wish to learn manner on the Internet more comprehensively, please refer to RFC1855.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

11. Implementation Issues

Why are "mewls" and "mewencode" necessary?
With Mew, you can read throw messages in Summary mode while you are retrieving messages or listing the messages again. This means that multiple control flows of program are necessary. To make multiple control flows by Emacs, the only ways are to make a TCP connection or to execute sub-process(Emacs Lisp does NOT provide a feature of light weight process). For POP and SMTP, Mew makes a TCP connection, so they are not a problem. However, to list the messages in Summay mode again, we have to execute a command. This is why "mewls" exists. The reason whey "mewencode" exists is just for speed. When I programmed MIME encoding by Emacs Lisp in several ways, they are too slow to use. So, I decided to continue to use "mewencode". (If Base64 is implemented by Emacs, Mew uses the native function.)

Why isn't the beginning of a message body displayed in Summary mode?
"mewls" is a command to parse message headers, but it doesn't analyze MIME structures. This is because we can't maintain programs if the same code exist both in an "Emacs Lisp program" and in a "C language program". So, for instance, "mewls" can't get the beginning of part 1 text and tell its charset to Mew. This is why Mew can't display the beginning of a message body. As a compromised way, we are thinking a way that Mew displays the beginning of a message body only when the body is a single part text.

Why does Mew say ""The format of this scan cache is old" sometime?
To implement threads, in the right side of a line in Summary mode, the Message-Id: of the message and that of its parent are stored. Let's call this "thread information". Because of thread information, the format in Summary mode of Mew 2 and that of Mew 1.94.2 are different. So, you need to make a list of message just once.

Why does the cursor jump onto the end of line when searching(`C-s', `C-r')?
Thread informations are not displayed in Summary mode. This is because because the "invisible" property is dynamically put onto them when displayed. Strings with this property is not a target of the string search. But, thread informations of undisplayed lines do not have this property, so the string search targets them. Then a matched line is displayed and the "invisible" property is put. So, it seems to you that the string search matches the end of the line. Mew puts the "invisible" property for all lines in Summary mode in background while there are no user key inputs. When this word is finished, the `*' mark in the right side of the mode line in Summary mode disappears. In this situation, string search works exactly as you expect.

Why aren't marks saved occasionally?
Mew is designed to survive even if multiple Mews are running from multiple Emacses. When multiple Mews run, a cache file of Summary mode becomes a critical section. Mew reads a cache file of Summary mode again if it is modified. This means that we should make it minimum to save the cache file. If not, Mew reads the cache file often and it is very hard to use. Thus, Mew does not save a mark when a user put it. The timing to save a cache file is when the number of messages increases (`i', `s' + "update"), or when the number of messages decreases (`x'), or when the list of messages are displayed again (`s' + "all"). We are thinking a way to save a cache file every time when a user type `x'.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12. Availability and mailing-list

This chapter describes how to get Mew and related mailing-lists.

12.1 How to get Mew?  
12.2 Mailing list  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.1 How to get Mew?

The latest Mew is available from the following repository.

 
ftp://ftp.Mew.org/pub/Mew/mew-current.tar.gz

Samples are given time to time under the following file name:

 
ftp://ftp.Mew.org/pub/Mew/samples.tar.gz


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

12.2 Mailing list

A new version is announced to

 
mew-release@Mew.org

in English. If you wish to join, please send a message to

 
mew-release-subscribe@Mew.org

This list is under access control so that nobody but the author can post.

To ask questions or discuss features of Mew, please send messages to

 
mew-int@Mew.org

in English.

Questions about Mew should be sent, not to the author, but to mew-int. The author does not have enough time to answer all questions received. If you send a question to mew-int, another person may answer.

To know how to subscribe to a mailing-list in more detail, please gain access to:

 
http://www.Mew.org/ML/


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

13. Copyright

Mew conforms the following copyright.

Copyright (C) 1994-2001 Mew developing team.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. Neither the name of the team nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE TEAM AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE TEAM OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

If you wish to distribute Mew in CD or something, please let me know. I do not go mad even if you don't tell me but I'm very glad if you do so. I never have declined requirements.

The copyright of this Info belongs to the author. It is granted to copy, modify, redistribute this Info but no warranty.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14. Variable Index

Jump to:   M  

Index Entry Section

M
mail-user-agent2. Let's get started
mail-user-agent4. Composing messages
mew-addrbook-for-cite-label9.3 Draft mode
mew-addrbook-for-cite-prefix9.3 Draft mode
mew-addrbook-mode-hook9.5 Hooks
mew-addrbook-override-by-newone4.3 Address Book
mew-auto-get2. Let's get started
mew-before-cite-hook9.5 Hooks
mew-case-guess-alist9.8 Changing receiving/sending behavior
mew-case-guess-when-composed9.8 Changing receiving/sending behavior
mew-case-guess-when-prepared9.8 Changing receiving/sending behavior
mew-case-guess-when-replied9.8 Changing receiving/sending behavior
mew-case-guess-when-replied-alist9.8 Changing receiving/sending behavior
mew-case-synchronize9.8 Changing receiving/sending behavior
mew-cc9.3 Draft mode
mew-cite-fields9.3 Draft mode
mew-cite-format9.3 Draft mode
mew-cite-hook9.5 Hooks
mew-cite-prefix9.3 Draft mode
mew-cite-prefix-function9.3 Draft mode
mew-config-alist9.8 Changing receiving/sending behavior
mew-cs-samba9.9 Miscellaneous
mew-cursor-mark9.4 Highlighting
mew-dcc9.3 Draft mode
mew-decode-broken3.2 Displaying MIME
mew-decode-quoted3.9 Illegal message
mew-draft-mode-edit-again-hook9.5 Hooks
mew-draft-mode-hook9.5 Hooks
mew-draft-mode-newdraft-hook9.5 Hooks
mew-draft-mode-reedit-draft-hook9.5 Hooks
mew-draft-mode-reedit-hook9.5 Hooks
mew-end-of-message-string3.2 Displaying MIME
mew-end-of-part-string3.2 Displaying MIME
mew-env-hook9.5 Hooks
mew-field-circular-completion-switch4.2 Circular completions in a header
mew-field-completion-switch4.1 Completions in a header
mew-field-delete-for-forwarding4.9 Forwarding messages
mew-fields4.1 Completions in a header
mew-file-max-size3.2 Displaying MIME
mew-from9.3 Draft mode
mew-from-list4.2 Circular completions in a header
mew-fromme-cc-list4.8 Replying to a message and deciding recipients
mew-fromme-to-list4.8 Replying to a message and deciding recipients
mew-header-alist9.3 Draft mode
mew-header-max-length3.2 Displaying MIME
mew-header-mode-hook9.5 Hooks
mew-highlight-body-max-size9.4 Highlighting
mew-icon-directory2. Let's get started
mew-init-hook9.5 Hooks
mew-lisp-max-length4.3 Address Book
mew-lisp-max-length6.3 Guess by thread
mew-lisp-max-length6.5 Guess by From:
mew-mail-address-list4.8 Replying to a message and deciding recipients
mew-mail-domain-list2. Let's get started
mew-mail-domain-list4.2 Circular completions in a header
mew-mailbox-type2. Let's get started
mew-make-message-hook9.5 Hooks
mew-mbox-command2. Let's get started
mew-mbox-command-arg2. Let's get started
mew-message-hook9.5 Hooks
mew-message-mode-hook9.5 Hooks
mew-mime-multipart-alternative-list9.2 Message mode
mew-msg-rm-folder-list5.1 Delete `D', `X'
mew-msg-rm-policy5.1 Delete `D', `X'
mew-noreplyto-cc-list4.8 Replying to a message and deciding recipients
mew-noreplyto-to-list4.8 Replying to a message and deciding recipients
mew-pop-auth9.6 Receiving messages
mew-pop-auth-list9.6 Receiving messages
mew-pop-biff-interval9.6 Receiving messages
mew-pop-body-lines9.6 Receiving messages
mew-pop-delete9.6 Receiving messages
mew-pop-sentinel-hook9.5 Hooks
mew-pop-sentinel-non-biff-hook9.5 Hooks
mew-pop-server9.6 Receiving messages
mew-pop-size9.6 Receiving messages
mew-pop-ssh-server9.6 Receiving messages
mew-pop-user9.6 Receiving messages
mew-prog-gpg3.3 Visualizing PGP/MIME
mew-prog-pgp3.3 Visualizing PGP/MIME
mew-prog-pgp23.3 Visualizing PGP/MIME
mew-prog-pgp53.3 Visualizing PGP/MIME
mew-prog-text/html-ext9.2 Message mode
mew-prog-text/html-ext-arg9.2 Message mode
mew-quit-hook9.5 Hooks
mew-real-send-hook9.5 Hooks
mew-refile-auto-refile-skip-any-mark6.9 Auto refile
mew-refile-ctrl-multi6.8 Controlling rules
mew-refile-guess-alist6.2 Guess by user defined rules
mew-refile-guess-control6.8 Controlling rules
mew-refile-guess-from-me-is-special6.4 Guess by private folders
mew-refile-guess-from-me-is-special6.5 Guess by From:
mew-refile-guess-strip-domainpart6.7 Guess by default rule
mew-replyto-cc-list4.8 Replying to a message and deciding recipients
mew-replyto-to-list4.8 Replying to a message and deciding recipients
mew-scan-form9.1 Summary mode
mew-scan-form-extract-rule9.1 Summary mode
mew-scan-form-from-me-prefix9.1 Summary mode
mew-scan-form-mark-delete9.1 Summary mode
mew-scan-form-mark-review9.1 Summary mode
mew-scan-sentinel-hook9.5 Hooks
mew-send-hook9.5 Hooks
mew-signature-as-lastpart4.5 Signature and citation
mew-signature-file4.5 Signature and citation
mew-signature-insert-last4.5 Signature and citation
mew-smtp-auth9.7 Sending messages
mew-smtp-auth-list9.7 Sending messages
mew-smtp-flush-hook9.5 Hooks
mew-smtp-helo-domain9.7 Sending messages
mew-smtp-mail-from9.7 Sending messages
mew-smtp-msgid-domain9.7 Sending messages
mew-smtp-msgid-user9.7 Sending messages
mew-smtp-sentinel-hook9.5 Hooks
mew-smtp-server9.7 Sending messages
mew-smtp-ssh-server9.7 Sending messages
mew-smtp-user9.7 Sending messages
mew-sort-default-key3.8 Sorting messages
mew-sort-default-key-alist3.8 Sorting messages
mew-sort-key-alist3.8 Sorting messages
mew-summary-exec-hook9.5 Hooks
mew-summary-ls-no-scan-hook9.5 Hooks
mew-summary-mark-direction9.1 Summary mode
mew-summary-mode-hook9.5 Hooks
mew-summary-show-direction9.1 Summary mode
mew-summary-toggle-disp-msg-hook9.5 Hooks
mew-suspend-hook9.5 Hooks
mew-syntax-format-hook9.5 Hooks
mew-thread-column9.1 Summary mode
mew-thread-display-hook9.5 Hooks
mew-use-8bit9.7 Sending messages
mew-use-alternative3.2 Displaying MIME
mew-use-biff9.6 Receiving messages
mew-use-biff-bell9.6 Receiving messages
mew-use-cached-passwd3.3 Visualizing PGP/MIME
mew-use-cached-passwd3.4 Getting messages and moving to a folder
mew-use-cursor-mark9.4 Highlighting
mew-use-fancy-thread3.7 Thread
mew-use-highlight-body9.4 Highlighting
mew-use-highlight-cursor-line9.4 Highlighting
mew-use-highlight-header9.4 Highlighting
mew-use-highlight-mark9.4 Highlighting
mew-use-highlight-mouse-line9.4 Highlighting
mew-use-highlight-url9.4 Highlighting
mew-use-highlight-x-face9.4 Highlighting
mew-use-samba-encoding9.9 Miscellaneous
mew-use-text-body3.2 Displaying MIME
mew-use-thread-separator3.7 Thread
mew-virtual-mode-hook9.5 Hooks
mew-window-use-full9.1 Summary mode
mew-x-pgp-key-list3.3 Visualizing PGP/MIME

Jump to:   M  


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

15. Key Index

Jump to:   #   &   (   )   *   ,   -   .   /   :   ?   @   ^   |  
A   B   C   D   E   F   G   I   J   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z  

Index Entry Section

#
# (Summary)3.6 Useful features

&
& (Virtual)3.7 Thread

(
( (Virtual)3.7 Thread

)
) (Virtual)3.7 Thread

*
* (Summary)5.4 Review `*'

,
, (Summary)3.2 Displaying MIME

-
- (Summary)3.1 Reading Basis

.
. (Summary)3.2 Displaying MIME

/
/ (Summary)7. Selecting messages
/ (Summary)7.1 How to input conditions
/ (Summary)7.2 Virtual mode

:
: (Summary)3.2 Displaying MIME

?
? (Summary)7. Selecting messages
? (Summary)7.1 How to input conditions

@
@ (Summary)5.3 Multiple `@'

^
^ (Virtual)3.7 Thread

|
| (Summary)3.6 Useful features

A
a (Attach)4.6 Composing multipart
a (Summary)3.5 Write, answer, and forward
A (Summary)3.5 Write, answer, and forward
A (Summary)4. Composing messages
a (Summary)4. Composing messages
A (Summary)4.8 Replying to a message and deciding recipients
a (Summary)4.8 Replying to a message and deciding recipients

B
B (Attach)4.12 Mark based composer
B (Summary)3.6 Useful features

C
c (Attach)4.6 Composing multipart
C (Attach)4.6 Composing multipart
C (Attach)4.7 Defining charset
C (Summary)3.6 Useful features
C-b (Attach)4.6 Composing multipart
C-cC-a (Draft)4.6 Composing multipart
C-cC-a (Summary)3.6 Useful features
C-cC-a (Summary)4.3 Address Book
C-cC-b (Draft)4.11 Using PGP
C-cC-c (Addrbook)4.3 Address Book
C-cC-c (Draft)4.4 Sending a message
C-cC-c (Header)4.10 Re-sending messages
C-cC-c (Summary)4.4 Sending a message
C-cC-e (Draft)4.11 Using PGP
C-cC-e (Summary)9.2 Message mode
C-cC-f (Summary)3.3 Visualizing PGP/MIME
C-cC-l (Draft)4.5 Signature and citation
C-cC-l (Summary)3.9 Illegal message
C-cC-m (Draft)4.4 Sending a message
C-cC-m (Header)4.10 Re-sending messages
C-cC-pC-a (Draft)4.11 Using PGP
C-cC-pC-e (Draft)4.11 Using PGP
C-cC-q (Addrbook)4.3 Address Book
C-cC-q (Addrbook)8. Give me a break
C-cC-q (Draft)8. Give me a break
C-cC-q (Header)8. Give me a break
C-cC-q (Summary)8. Give me a break
C-cC-r (Draft)4.11 Using PGP
C-cC-r (Summary)3.6 Useful features
C-cC-s (Draft)4.11 Using PGP
C-cC-s (Summary)3.6 Useful features
C-cC-t (Draft)4.5 Signature and citation
C-cC-v (Summary)3.3 Visualizing PGP/MIME
C-cC-v (Summary)3.6 Useful features
C-cC-y (Draft)4.5 Signature and citation
C-cC-y (Summary)9.2 Message mode
C-cC-z (Summary)3.6 Useful features
C-cTAB (Draft)4.2 Circular completions in a header
C-cTAB (Draft)4.5 Signature and citation
C-cTAB (Summary)9.2 Message mode
C-f (Attach)4.6 Composing multipart
C-n (Attach)4.6 Composing multipart
C-n (Summary)3.1 Reading Basis
C-p (Attach)4.6 Composing multipart
C-p (Summary)3.1 Reading Basis
C-u, (Summary)3.2 Displaying MIME
C-u. (Summary)3.2 Displaying MIME
C-u. (Summary)3.9 Illegal message
C-u/ (Summary)7. Selecting messages
C-u/ (Summary)7.1 How to input conditions
C-u: (Summary)3.2 Displaying MIME
C-u? (Summary)7. Selecting messages
C-u? (Summary)7.1 How to input conditions
C-ua (Summary)4.8 Replying to a message and deciding recipients
C-uA (Summary)4.8 Replying to a message and deciding recipients
C-uC-cC-a (Summary)4.3 Address Book
C-uC-cC-e (Summary)9.2 Message mode
C-uC-cC-f (Summary)3.3 Visualizing PGP/MIME
C-uC-cC-l (Summary)3.9 Illegal message
C-uM-o (Summary)6.9 Auto refile
C-uM-x mew2. Let's get started
C-un (Summary)3.1 Reading Basis
C-up (Summary)3.1 Reading Basis
C-uSPC (Summary)3.1 Reading Basis
C-utt (Summary)3.7 Thread
C-uZ (Summary)3.6 Useful features
C-x RET l4.7 Defining charset
C-xm2. Let's get started
C-xm4. Composing messages

D
d (Attach)4.6 Composing multipart
D (Attach)4.6 Composing multipart
D (Summary)3.6 Useful features
d (Summary)5.1 Delete `D', `X'
DEL (Summary)3.1 Reading Basis

E
E (Attach)4.12 Mark based composer
e (Attach)4.6 Composing multipart
E (Summary)3.5 Write, answer, and forward

F
f (Attach)4.6 Composing multipart
F (Attach)4.6 Composing multipart
F (Summary)3.5 Write, answer, and forward
f (Summary)3.5 Write, answer, and forward
F (Summary)4. Composing messages
f (Summary)4. Composing messages
f (Summary)4.9 Forwarding messages
F (Summary)4.9 Forwarding messages

G
G (Attach)4.12 Mark based composer
g (Summary)3.4 Getting messages and moving to a folder

I
I (Attach)4.7 Defining charset
i (Attach)4.6 Composing multipart
i (Summary)3.4 Getting messages and moving to a folder
i (Summary)4.4 Sending a message

J
j (Summary)3.1 Reading Basis

M
m (Attach)4.6 Composing multipart
m* (Summary)5.6 Mark strength
M-e (Summary)3.5 Write, answer, and forward
M-l (Summary)3.6 Useful features
M-n (Summary)7.1 How to input conditions
M-o (Summary)6.9 Auto refile
M-p (Summary)7.1 How to input conditions
M-RET (Summary)3.1 Reading Basis
M-TAB (Draft)4.3 Address Book
M-x (Summary)5.1 Delete `D', `X'
M-x mew2. Let's get started
M-x mew3. Viewing messages
M-x mew-send2. Let's get started
M-x mew-send4. Composing messages
m@ (Summary)5.6 Mark strength
md (Summary)5.6 Mark strength
mo (Summary)5.6 Mark strength
ms (Summary)5.6 Mark strength
mt (Summary)3.7 Thread

N
n (Summary)3.1 Reading Basis

O
O (Summary)3.6 Useful features
o (Summary)5.2 Refile `o'

P
p (Attach)4.6 Composing multipart
P (Attach)4.6 Composing multipart
p (Attach)4.13 PGP key distribution
p (Summary)3.1 Reading Basis

Q
Q (Attach)4.12 Mark based composer
q (Summary)8. Give me a break
Q (Summary)8. Give me a break

R
r (Summary)4.10 Re-sending messages
RET (Summary)3.1 Reading Basis

S
S (Attach)4.12 Mark based composer
s (Summary)3.4 Getting messages and moving to a folder
S (Summary)3.8 Sorting messages
SPC (Summary)3.1 Reading Basis

T
T (Attach)4.6 Composing multipart
t* (Virtual)3.7 Thread
t (Virtual)3.7 Thread
TAB (Draft)4.1 Completions in a header
td (Virtual)3.7 Thread
tM-d (Virtual)3.7 Thread
tn (Virtual)3.7 Thread
to (Virtual)3.7 Thread
tp (Virtual)3.7 Thread
tt (Summary)3.7 Thread
tu (Virtual)3.7 Thread

U
U (Attach)4.12 Mark based composer
u (Summary)5.5 Deleting marks
U (Summary)5.5 Deleting marks

V
v (Summary)3.6 Useful features

W
w (Summary)3.5 Write, answer, and forward
W (Summary)3.5 Write, answer, and forward
W (Summary)4.10 Re-sending messages
w (Summary)4. Composing messages

X
x (Summary)5.1 Delete `D', `X'
x (Summary)5.5 Deleting marks

Y
y (Attach)4.6 Composing multipart
y (Summary)3.6 Useful features

Z
Z (Summary)3.6 Useful features

Jump to:   #   &   (   )   *   ,   -   .   /   :   ?   @   ^   |  
A   B   C   D   E   F   G   I   J   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z  


[Top] [Contents] [Index] [ ? ]

Table of Contents


[Top] [Contents] [Index] [ ? ]

Short Table of Contents

1. Read me first
2. Let's get started
3. Viewing messages
4. Composing messages
5. Funny marks
6. Happy refiling
7. Selecting messages
8. Give me a break
9. Customizing Mew
10. Email convention
11. Implementation Issues
12. Availability and mailing-list
13. Copyright
14. Variable Index
15. Key Index

[Top] [Contents] [Index] [ ? ]

About this document

This document was generated on July, 26 2001 using texi2html

The buttons in the navigation panels have the following meaning:

Button Name Go to From 1.2.3 go to
[ < ] Back previous section in reading order 1.2.2
[ > ] Forward next section in reading order 1.2.4
[ << ] FastBack previous or up-and-previous section 1.1
[ Up ] Up up section 1.2
[ >> ] FastForward next or up-and-next section 1.3
[Top] Top cover (top) of document  
[Contents] Contents table of contents  
[Index] Index concept index  
[ ? ] About this page  

where the Example assumes that the current position is at Subsubsection One-Two-Three of a document of the following structure:

This document was generated on July, 26 2001 using texi2html