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

2 Viewing messages

If you input ‘M-x mew’ (regardless Mew is running or not), Mew displays a list of message like this:

* 03/12 Hidenori Ohta  This weekend              |Let's go to StoneMagic
 M03/14 Momo-chan      The pictures of Noto      |Attached are the pictu
  03/15 Neat Sumikawa  Re: wine                  |OK. I vote for Wednesd

This is called Summary mode. This section mainly explains how to read messages in Summary mode.

As you can see the example above, the format of Summary mode consists of a mark, data type (a mark by Mew), date, a sender, Subject:, and a body.

For the method of terminating Summary mode, please see Give me a break.


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

2.1 Reading Basis

To read messages in the order of their arrival, type ‘SPC’ to display them. That’s it. It’s easy, isn’t it?

Yet this might not be comprehensive, so the basic commands for page processing are listed as follows:

SPC

Read through messages. That is, display a message, scroll it, and move-then-display another message. refer to Summary mode to know which direction the cursor moves.

C-uSPC

Redisplay the message from its header.

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 one line.

M-RET
-

Make this message scroll down one line.

C-n

Go to the next line.

C-p

Go to the previous line.

n

Move down then display. Targets include parts, messages marked with ‘*’, and non-marked messages.

C-un

Move down then display. Targets include messages marked with ‘*’, and non-marked messages.

p

Move up then display. Targets include parts, messages marked with ‘*’, and non-marked messages.

C-up

Move up then display. Targets include messages marked with ‘*’, and non-marked messages.

j

Jump to a line according to the line number which you input.

C-uj

Jump to a message according to the message number which you input.


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

2.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:

* 03/12 Hidenori Ohta  This weekend              |Let's go to StoneMagic
 M03/14 Momo-chan      The pictures of Noto      |Attached are the pictu
  03/15 Neat Sumikawa  Re: wine                  |OK. I vote for Wednesd

When you type ‘SPC’ on the message marked with ‘M’, its header is displayed in Message mode. Then its multipart structure is displayed in Summary mode as follows:

* 03/12 Hidenori Ohta  This weekend              |Let's go to StoneMagic
 M03/14 Momo-chan      The pictures of Noto      |Attached are the pictu
B    2  Image/Jpeg                   picture 1                noto1.jpg
Q    3  Application/Postscript       Note map                 map.ps
  03/15 Neat Sumikawa  Re: wine                  |OK. I vote for Wednesd

If the first part is Text/, the first part is not displayed 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 the 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’ move 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.

 M03/15 Kazu yamamoto  Fw: The pictures of Noto  |Attached are the pictu
     2  Message/Rfc822               The pictures of Noto
B    2.2  Image/Jpeg                   picture 1              noto1.jpg
Q    2.3  Application/Postscript       Note map               map.ps

Note: We strongly recommend that you not embed any object other than text as a top level single part to a message directly. Instead, it is better to make a multipart message whose part 1 is a textual description of part 2 and part 2 is a non-text object.

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 a bit of time to analyze the syntax. However, Mew guesses the message to be read next and analyzes it beforehand while the user is reading the current message. Analyzed messages are temporarily cached.

To make it clear where the message ends, Mew displays the string "[End of message]" in the end of the message. At 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.


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

2.3 Controlling MIME analysis

There are several variables for controlling message analysis.

mew-file-max-size

The size limit 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 value is 10000 bytes.

mew-header-max-length

The length limit 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 fragmentarily since the analysis is stopped. The default value is 100 lines.

mew-decode-broken

Whether Mew be liberal or conservative to invalid messages. If the value is ‘t’, the setting is liberal. If the value is ‘nil’, the setting is for conservative. If conservative and invalid portions are found, they are reported in the X-Mew: field. The default value is ‘t’.

mew-use-text-body

Whether or not the text part of a body is displayed with its header. If the value is ‘t’, both the body which is a single part text and the first text part in a multipart body are displayed with its header. If the value is ‘nil’, they are displayed as a single part in a multipart. The default value is ‘t’.

mew-use-alternative

How to treat Multipart/Alternative. Messages containing Multipart/Alternative are marked with ‘-’. If the value is ‘t’, one part is displayed according to the preference defined in ‘mew-mime-multipart-alternative-list’. If the value is ‘nil’, it is displayed as a multipart. The default value is ‘t’.

mew-use-text/html

How to treat Text/Html. If ‘nil’, HTML is displayed as is (without parsing). Otherwise, HTML is parsed and displayed. The default value is ‘nil’.

mew-use-text/xml

How to treat Text/Xml. If ‘nil’, XML is displayed as is (without parsing). Otherwise, XML is parsed and displayed. The default value is ‘t’.

The basic command relating to the variables above is ‘.’. The command acts as follows:

1) If this command executed on a message, the cache of the message is removed and the message is analyzed then displayed.

1a) If the size of the current message exceeds ‘mew-file-max-size’, MIME analysis is skipped then the beginning of the raw message is displayed. In this situation, this command analyzes the current message without the limitation then displays it.

1b) If the length of a header exceeds ‘mew-header-max-length’, a broken message is displayed. In this situation, this command analyzes the current message without the limitation then displays it.

1c) If the current message is displayed by ‘:’, the multipart structure is displayed different from the normal display. In this situation, this command gets the multipart structure back to the normal display.

1d) If ‘mew-use-text/html’ is ‘nil’, its HTML body is displayed as is. In this situation, this command analyzes the HTML body and displays it.

2) If this command is called on a part, the part is displayed again.

2a) If ’mew-use-text/html’ is ‘nil’, its HTML part is displayed as is. In this situation, this command analyzes the HTML part and displays it.

In addition to ‘.’, the following commands are prepared:

.

Analyze the message and re-display it.

C-u.

Analyze the message with ‘mew-decode-broken’ reversed (see Invalid messages).

:

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.

,

Insert a message or a part into Message mode in raw format.

C-cTAB

Open an entire message as a file in read-only mode.

C-uC-cTAB

Open an entire message as a file.


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

2.4 Visualizing cipher or signature

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

 S03/18 Kanda PC shop  A written estimate        |Here is a written esti
 E03/21 Anonymous      Secret message            |

Messages above are marked with ‘S’ and ‘E’, respectively. This means that the body of the first message is signed and that of the second message is encrypted.

PGP/MIME and/or S/MIME also allow to sign and/or encrypt some parts of a message. In this case, these marks do not appear. The ‘S’ or ‘E’ mark appears only when the entire body of the message is signed or encrypted.

The terms "sign" and "encrypt" used above mean the last procedure applied the body is "sign" and "encryption", respectively. The above examples may have been produced with more complex processes. For instance, in the case of the former message, 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 entire body is encrypted, Mew asks you to input your pass-phrase to get plain text. Please refer to Starting to know what you should pay attention when inputting pass-phrase. The pass-phrase is used to decrypt your secret key. The secret key is then used to decrypt cipher text.

To visualize a cipher message, 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, you can configure Mew to cache your pass-phrase. Please refer to Password for more information.

Since decrypted messages are cached for a while, you may not be asked for your pass-phrase at the next time you display the message, even if you are not using the pass-phrase cache.

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

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

To inform 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@example.org" COMPLETE

The number enclosed by "<>" 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 the message and then verified its signature of the decrypted message. The fact that the signature is valid indicates that no one has modified the content of the message since it was signed by the secret key whose ID is kazu@example.org. The validity of the public key used to verify the signature is "complete". Thus, the receiver can be sure that the public key actually belongs to the user indicated by the ID. That is, this message was verified by a reliable public key AND its results were correct, so no alternation was found.

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

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

Intelligent users may wonder what happens in the case where a devious person sends a message that contains an invalid X-Mew: field. This is not a problem. First Mew carefully removes the X-Mew: field, and then inserts a valid X-Mew: field into the header.

About PGP/MIME:

X-Mew: informs the user of various other types of results. For example, the lack of availability of a public key, decryption failures, etc. The following example indicates the absence of a public key whose key ID is 0x1B8BF431.

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. You can interactively select a public key server. If the X-Mew: field does not exist, ‘C-c C-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, and then tries to fetch them.

Mew supports PGPv2, PGPv5, and GNUPG. You can select one of these by typing ‘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.

Old fashioned PGP messages cannot be processed automatically. You can decrypt and/or verify this kind messages with ‘C-cC-z’.


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

2.5 Getting messages

To copy arrived messages to your mailbox to +inbox and list up a list of the messages, use ‘i’. The mailbox is determined according to ‘mew-mailbox-type’. (When you type ‘M-x mew’ and if ‘mew-proto’ is ‘+’, messages are also copied according to ‘mew-mailbox-type’.) Here are summary of its values.

'mbox

A local mailbox. "incm" is used to copy messages for the local mailbox by default. To know how to configure it, see Configuration.

'pop

A POP server. To use POP as it is. (This is a default value.)

'imap

An IMAP server. This is not recommended.

To flush a list of messages in a local folder and display them again, use ‘s’.

To retrieve messages or flush-then-retrieve messages again in a remote folder, type ‘s’. It is recommended to use ‘s’, not ‘i’, for IMAP and NetNews.

If you use ‘s’, it asks you a range. Here are a summary of important ranges for Mew.

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 in a local folder becomes inconsistent, use this range to flush the list. For a remote folder, this range results in retrieval of all messages again.

sync

Deleting cache messages whose originals were removed in the server side. Valid for remote folders only.

The default range both for +draft, +queue, and +postq 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, +queue, and +postq.

Although they are not especially important in Mew, you can specify the following ranges:

<num1>-<num2>

From <num1> to <num2>. Valid for local folders only.

<num1>-

From <num1> to the last. Valid for local folders only.

-<num2>

From the first to <num2>. Valid for local folders only.

last:<num>

Last <num> messages.

If you execute ‘s’ with ‘C-u’ on a remote folder, you can toggle "copying a header only" and "copying both a header and a body". This action can be defined by ‘mew-pop-header-only’, ‘mew-imap-header-only’, and ‘mew-nntp-header-only’ for POP, IMAP, and NNTP, respectively. The default values of these are ‘nil’, that is, "copying both a header and a body".

Messages that are of large size may be truncated. This kind of message is marked with ‘T’. To retrieve the rest of this kind of message, type ‘I’ on the message.

Suppose that there is a message marked with ‘T’ in $inbox. If you type ‘I’ on it, you can retrieve the entire message.

Here is a summary of the commands concerned with message retrieval:

i

In a local folder, fetch arrived messages, store them to the +inbox folder and create a list. If ‘mew-auto-flush-queue’ is ‘t’, send messages in +queue. Please refer to Sending a message for more information. In a remote folder, visit to its inbox folder and execute ‘s’ + ‘update’.

C-ui

Perform ‘i’ with ‘mew-auto-flush-queue’ reversed.

I

Retrieve the rest of a truncated(‘T’) message.

If you use this command in a local folder, a method to retrieve the message is determined by the "case" and ‘mew-mailbox-type’. If ‘mew-pop-delete’/‘mew-imap-delete’ is ‘t’, delete the message from the mailbox.

If you use this command in a remote folder, a "case" and protocol is determined by the folder. The message in the server side is always retained.

C-uI

Perform ‘I’ with ‘mew-pop-delete’ or ‘mew-imap-delete’ reversed.

s

List up messages in Summary mode or flush them.

C-us

On a remote folder, list up messages in Summary mode by toggling "copying a header only" and "copying both a header and a body".

lc

Copy a cached message in a remote folder to a local folder.


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

2.6 Moving to another folder

To go to another folder, type ‘g’. Mew asks you to input a folder name as follows:

Folder name (+inbox): +

Let’s call the right side of ":" ’writable area’. In this example, proto "+" is displayed in the writable area. Typing an appropriate string following proto and typing ‘RET’ decides a folder name, then Mew moves to the folder.

When you move to a folder and if Mew finds its list of messages old, Mew automatically displays the differences.

The string in "()" is a default. If you specifies "+" by simply typing ‘RET’, Mew considers that the default folder name is specified.

To make use of completion, type ‘TAB’ or ‘SPC’.

Now, lets get back to the state just after typing ‘g’.

Folder name (+inbox): +

If you want to change, for example, "+" to "%", you have to delete "+" first then type "%" in normal situation. But this is inconvenient. So, typing "%" just after "+" removes "+" automatically. Like this, typing another proto just after a proto replaces the previous one without deletion.

When you type a remote folder, you may want to specify the "case" (described in Changing receiving/sending behavior). The "case" must be specified before a folder, separated by ":". Consider moving "%inbox" for a "case" "home". In this case, you should type "home:%inbox". Yes, this is inconvenient. So, typing ‘C-cTAB’ in any position does circular completion for available "cases". Let’s look at the following example.

Folder name (+inbox): %inbox

Typing ‘C-cTAB’ here results in the following:

Folder name (+inbox): home:%inbox

You may want to search a folder by specifying a substring of the folder. For this purpose, ‘C-s’ and ‘C-r’ are available. The following is the state of the minibuffer after typing ‘C-s’.

Folder name (+inbox): ()

"()" appeared in the writable area indicates you have switched to search mode. While you are typing here, a matched candidate is shown in "()". The following is the case where a search key is "mew".

Folder name (+inbox): (+work/mew-release) mew

To select the matched candidate, type ‘RET’. Then the search mode is finished and the matched candidate is displayed in the writable area.

Folder name (+inbox): +work/mew-release

Typing ‘RET’ again means that you decide the folder.

A list of folders to be searched is decided by a combination of "case" and proto. When you enter the search mode by typing ‘C-s’ or ‘C-r’, a pair of "case" and proto is extracted from the writable area, and a list of folders is selected according to the pair.


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

2.7 Write, answer, and forward

Please use the following commands for writing, replying, and forwarding messages.

w

Write a message. A new draft is prepared in Draft mode. Please refer to Composing messages.

C-uw

Write a message. A new draft is prepared in Draft mode. The From: address of the current message is copied to the To: field in the draft.

W

Send a message by modifying a part of the header of another message. Please refer to Re-sending messages.

a

Answer to this message. A new draft is prepared in Draft mode. Mew automatically inserts the content of the fields To: and Cc:. Please refer to Replying to a message and deciding recipients.

C-ua

Answer to this message only to the sender.

A

Answer to this message. A new draft is prepared in Draft mode. Mew automatically inserts the content of the fields To: and Cc: and cites the body. Please refer to Replying to a message and deciding recipients.

C-uA

Answer to this message only to the sender with citation.

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 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 Target ‘*. Please refer to Forwarding messages.

If an error message returns, please try again 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 or +postq, the message is moved to +draft and is edited.
  3. Otherwise, the message is copied to +draft and is edited.

For +draft, +queue, and +postq, the "case" revives.

For the other folders, if ‘mew-case-guess-when-prepared’ is ‘t’, each field of the original header is replaced according to a guessed "case". For more information, see Changing receiving/sending behavior.

C-uE

The same as ‘E’. But, when used for other folders than +draft, +queue, and +postq, the original header is retained even if ‘mew-case-guess-when-prepared’ is ‘t’.


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

2.8 Useful features

Mew provides you with the following useful commands in Summary mode:

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.

_

Toggle normal lines, wrapped lines and long lines.

zv

If ‘mew-use-header-veil’ is non-nil, field lines of To: and Cc: over ‘mew-header-veil-count’ are covered with invisible veils. This commands toggles visibility of these lines. ‘mew-use-header-veil’ and ‘mew-header-veil-count’ are default to ‘t’ and 4, respectively.

M-l

Make the current line the center of the 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.

b

Save the buffer of Message mode as is 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 the content of Message mode according to ‘mew-print-function’.

C-u#

Print the content of Message mode with a specified printer name.

|

Send the content of Message buffer to a command via pipe.

C-u|

Send the body of Message buffer (excluding its header) to a command via pipe.

\

Executing an external command specifying this message as an argument.

B

De-capsulate embedded messages in MIME format.

C-uB

Decompose embedded files in this message.

C-cC-a

Register the information on the current message to Addrbook (see section Address Book).

C-cC-v

Select PGP version (See section Visualizing cipher or signature).

C-cC-z

Let PGP decrypt and/or verify old fashioned PGP messages (see section Visualizing cipher or signature).

C

Change the value of the "case". For more information, please refer to Changing receiving/sending behavior.

=

Display the folder name of this message and the message number. If this is a cache message, both the unique id and the size are also shown. The full path to the message is set to the cut buffer of your window manager.

;

Parse the Received: fields and display them in Message mode.

Rd

Delete this folder.

Rr

Rename this folder.


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

2.9 Updating status

In some cases of configuration modifications, you have to update status to reflect them. When you think configuration modifications don’t make any effects or some errors occur, use one of the following commands:

Z

Update information including Addrbook (see section Address Book).

C-uZ

Update information about folders of the current world.

Here is a summary of toggle commands.

z8

Toggle 8bit mode (i.e. ‘mew-use-8bit’).

zc

Clean-up caches of analyzed messages.

zd

Toggle ‘mew-debug’.

zo

Toggle PGP/MIME or old-fashioned PGP (‘mew-use-old-pgp’) when composing with shortcut methods.

zp

Toggle decode policy (i.e. ‘mew-decode-broken’).

zv

Toggle whether or not veil is used in Message mode(‘mew-use-header-veil’).

zw

Toggle warning level. If ‘mew-warning-field-level’ is 2, set it to 1. If ‘mew-warning-field-level’ is 1, set it to 2.


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

2.10 Invalid messages

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: an invalid message
From: pooh
MIME-Version: 1.0
Content-Type: Text/Plain

Japanese comes here.

The following header is invalid as well.

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

The string delimited by "=?" and "?=" in the above example was originally Japanese. Since the spec of mail limits the content of headers to ASCII characters, if a string whose character set is other than ASCII, is to be stored in a header, the string must be encoded with ASCII strings according to the defined rule. But it is certainly invalid to embed the ASCII strings with ‘"’. Strings surrounded by ‘"’ are treated as is. Therefore, the string between "=?" and "?=" in the example will not be decoded into Japanese.

Several mailers are careless about the spec and regularly violate these rules. The right way to do is to 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 as many different formats as possible. In these cases Mew displays warnings such as:

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 Reading Basis).

The following message is displayed as a mess since the character set specified with the charset parameter and the actual character set of its body are different.

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 guessed 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.


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

This document was generated on February 16, 2023 using texi2html 5.0.