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

3. Viewing messages

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

 
    1  07/17 Itojun         v6: items to be no in6_pcbnotify() doesn't
    2  07/18 Utashiro       Re: behavior after I'm afraid that mark-ring
    3  07/19 Nom-sun        refile info.       Sorry for my late respon

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 Updating and visiting folder  
3.5 Write, answer, and forward  
3.6 Useful features  
3.7 Sorting messages  
3.8 Scrambled 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 Beginner course to know which direction the cursor moves.
`DEL'
Back-scroll this message. Unnecessary header fields are hidden over the window. Type `DEL' to see them when a message is displayed.
`.'
If the size of a message exceeds `mew-file-max-size', MIME analysis is skipped then the beginning of the raw message is displayed. In this case, type `.' to force MIME analysis.
`,'
Display this message in the raw format(i.e. without MIME analysis). The beginning part of the message, whose size specified by `mew-file-max-size', is displayed. If called with `C-u', the entire message is displayed in the raw format.
`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 to below then display. Targets includes parts, messages marked with `*', and non-marked messages. When called with `C-u', parts are skipped.
`p'
Move to above then display. Targets includes parts, messages marked with `*', and non-marked messages. When called with `C-u', parts are skipped.
`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    Re: imget very fir OK, how about this?
    5 M07/20 Itojun         MagicPoint         I made the material of
    6  07/21 Motonori-san   Re: imget very fir Preserving messages on P

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    Re: imget very fir OK, how about this?
    5 M07/20 Itojun         MagicPoint         I made the material of
B    2  Image/Gif                    MagicPoint logo              mgp.gif
Q    3  Application/Postscript       Presentation Material        ohp.ps   
    6  07/21 Motonori-san   Re: imget very fir Preserving messages on P

If the first part is Text/Plain, 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. For more information of each column, please refer to See section 4.6 Composing multipart.

If you type `SPC' or `n', the cursor moves onto part 1 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-u n'. Likewise, to display the message above (not this message), input `C-u p'.

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

 
  501 M02/22 Itojun         Fw: MagicPoint           Itojun send me this 
     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.

Mew displays a message which directory contains a single part other than text as a 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]". (Due to the limitation of Emacs, color is not available.) This feature is not available on Emacs 19.28, Mule 2.3 based on Emacs 19.28, and etc. These strings are customized by `mew-end-of-message-string' and `mew-end-of-part-string', respectively.


[ < ] [ > ]   [ << ] [ 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  A bug of MsgStore.pm
    9 E07/23 Neat Sumikawa  Wine               From good morning to

Massage 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. It is a message whose *body* is singed or encrypted that the "S" mark or the "E" mark appears on.

"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. 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 Updating and visiting folder to know what you should take care to use this feature.

 
(setq mew-use-pgp-cached-passphrase 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 Updating and visiting 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 time to time, please make use of the password-cache mechanism with following configuration.

 
(setq mew-use-cached-passwd t)

If you use this password-cache mechanism, you can omit password while the password is cached. Since passwords are cached in Emacs, you should take care so that other people cannot touch your computer.

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 is usually `update'. So, just type `RET' after `s' to get the up-to-date list of the current folder.

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

`<num1>-<num2>'
From <num1> to <num2>
`<num>:N'
N messages from <num>
`<num>:-N'
N messages to <num>
`first:N'
N messages from the first
`prev:N'
N messages to the current
`next:N'
N messages from the current
`last:N'
N messages to the last

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
`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.
`a'
Answer to this message. A new draft is prepared in Draft mode. Mew automatically decides To: and Cc:.
`A'
Answer to this message. A new draft is prepared in Draft mode. Mew automatically decides To: and Cc: and cites the body.
`f'
Forward this message to a third person. A new draft is prepared in Draft mode and this message is automatically attached.
`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 `@'.

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 MIME-encapsulated error message. In the +draft folder, it just edits the message. Otherwise, copy the message to the +draft folder, then edit.
`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. If executed with `C-u' on Mule, you can specify 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').
`Z'
Read Addrbook(See section 4.3 Address Book) and update its information. If you type `C-u Z', information of folders is also updated in addition to that of Addrbook. If `mew-use-folders-file-p' is `t', the list of folders is stored in "~/Mail/.folders". The default value is `t'.
`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-p'
Let PGP decrypt and/or verify good-old-PGP messages.


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

3.7 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 X-Mail-Count field as arithmetic value (not text), input like this:

 
x-mail-count:num

The case distinctions of field names and modes are ignored. And you can complete field names and modes with `TAB'.

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")))

This is the summary of the sorting commands:

`S'
Sort messages in the current folder. To sort messages in region, invoke it with prefix as `C-u S'.
`mS'
Sort `*' marked messages.


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

3.8 Scrambled message

The following message is considered as US-ASCII because of lack of charset. So the body is scrambled.

 
To: kazu
Subject: Scrambled message
From: Alice
MIME-Version: 1.0
Content-Type: Text/Plain

Japanese comes here.

Type `C-cC-l' to convert it into appropriate character set in Mule.

Also, some fields in a header are scrambled sometime.

 
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 is not 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. If you cannot wait, do as follows. This makes Mew to decode strings surrounded by "=?" and "?=" both in Summary mode and in Message mode.

 
(setq mew-decode-quoted t)


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

This document was generated by XEmacs shared group account on December, 19 2009 using texi2html 1.65.