Sending Messages Sending Messages Replying
To use VM's MIME composition features, you must have
vm-send-using-mime
set to a non-nil
value. With MIME composition
enabled, VM will allow you to add file attachments to your
composition and will analyze your message when you send it and
MIME encode it as necessary.
To attach a file to your composition, use C-c C-a
(vm-mime-attach-file
). VM will ask you for the name of the file,
its type, a brief description and its character set if it is a
text attachment. The attachment will be represented in the
composition as a tag line like this
[ATTACHMENT ~/sounds/chronophasia_scream.au, audio/basic]
You can type text before and after this tag and it will appear before or after the text in the final MIME message when VM encodes it. You can kill the tag with C-k and yank it back with C-y to move it to another place in the message. You can yank back the tag multiple times to duplicate the attachment in the message. Or you can leave the tag killed and the attachment won't appear in the message when it is sent.
If you click the right mouse button on the attachment tag, a menu
will appear that allows you to change the content disposition of
the attachment. The content disposition of a MIME object
gives a mail reader a hint as to whether an object should be
displayed inline or as an inert tag or button that you must
activate in some fashion. Inline display usually means
that the object will be display within or alongside the message
text, if that is possible. Attachment, when used as a
content disposition, means that the object will likely be
displayed as a tag. By default, VM specifies an inline
disposition for all MIME types except `application
' and
`model
' types.
To attach a buffer instead of a file, use C-c C-b (normally
bound to vm-mime-attach-buffer
. You must not kill the
buffer that you attach until after the message has been sent.
To preview what a MIME message will look like to a recipient,
use C-c C-p (vm-mime-preview-composition
). VM
will encode a copy of the message and present it to you in a
temporary mail folder. You can scroll through the message
using normal VM mail reading commands. Typing q in this
folder will return you to your composition where you can make
further changes.
To encode a MIME message without sending it, use C-c C-e
(vm-mime-encode-composition
). This is useful if you use
PGP and want to sign a message before sending it. VM will encode
the message for transport, inserting all necessary headers and
boundary markers. You can then sign the message and send it with
C-c C-c and be confident that VM won't invalidate the signature
by making further modifications to the message. Or if you want
to resume editing the message you can run the Emacs undo
(normally bound to C-x u) command which will revert the
encoded MIME bodies back to tags and you can continue entering
your composition.
By default, when you type text into a composition buffer VM
assumes that if all the character codes are less than 128, you
are using the US-ASCII character set and that is the character
set declared in the encoding of the message when it is sent. If
you are using some other character set, you must specify it by
setting the variable vm-mime-7bit-composition-charset
. The
value of variable should be a string specifying the character
set.
If there are character codes in the composition greater than 128, the
variable vm-mime-8bit-composition-charset
tells VM what character
set to assume when encoding the message. The default is
`iso-8859-1
'.
Character codes greater than 128 may not be transported reliably across the Internet in mail messages. Some machines will refuse to accept messages containing such characters and some will accept them but zero the eighth bit, garbling the message. To avoid these problems, VM transfer encodes 8-bit text by default.
MIME has two transfer encodings that convert 8-bit data to 7-bit for safe transport. Quoted-printable leaves the text mostly readable even if the recipient does not have a MIME-capable mail reader. BASE64 is unreadable without a MIME-capable mail reader.
VM's text transfer encoding behavior is controlled by the
variable vm-mime-8bit-text-transfer-encoding
. Its value should
be a symbol that specifies what kind of transfer encoding to do
for 8-bit text. A value of `quoted-printable
', means to use
quoted-printable encoding. A value of `base64
' means to use
BASE64 encoding. A value of `8bit
' means to send the message as
is. Note that this variable usually only applies to textual MIME
content types. Images, audio, video, etc. typically will have
some attribute that makes VM consider them to be ``binary'',
which moves them outside the scope of this variable. For
example, messages with line lengths of 1000 characters or more
are considered binary, as are messages that contain carriage
returns (ASCII code 13) or NULs (ASCII code 0).