1 |
\input texinfo @c -*-texinfo-*- |
\input texinfo @c -*-texinfo-*- |
2 |
|
|
3 |
@setfilename ../info/message |
@setfilename ../info/message |
4 |
@settitle Message 5.9.0 Manual |
@settitle Message Manual |
5 |
@synindex fn cp |
@synindex fn cp |
6 |
@synindex vr cp |
@synindex vr cp |
7 |
@synindex pg cp |
@synindex pg cp |
8 |
@copying |
@copying |
9 |
This file documents Message, the Emacs message composition mode. |
This file documents Message, the Emacs message composition mode. |
10 |
|
|
11 |
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software |
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 |
12 |
Foundation, Inc. |
Free Software Foundation, Inc. |
13 |
|
|
14 |
@quotation |
@quotation |
15 |
Permission is granted to copy, distribute and/or modify this document |
Permission is granted to copy, distribute and/or modify this document |
40 |
@end iftex |
@end iftex |
41 |
@setchapternewpage odd |
@setchapternewpage odd |
42 |
|
|
|
|
|
43 |
@titlepage |
@titlepage |
44 |
@title Message 5.9.0 Manual |
@title Message Manual |
45 |
|
|
46 |
@author by Lars Magne Ingebrigtsen |
@author by Lars Magne Ingebrigtsen |
47 |
@page |
@page |
48 |
|
|
49 |
@vskip 0pt plus 1filll |
@vskip 0pt plus 1filll |
50 |
@insertcopying |
@insertcopying |
51 |
@end titlepage |
@end titlepage |
67 |
* Key Index:: List of Message mode keys. |
* Key Index:: List of Message mode keys. |
68 |
@end menu |
@end menu |
69 |
|
|
70 |
This manual corresponds to Message 5.9.0. Message is distributed with |
This manual corresponds to Message v5.10.6. Message is distributed |
71 |
the Gnus distribution bearing the same version number as this manual. |
with the Gnus distribution bearing the same version number as this |
72 |
|
manual. |
73 |
|
|
74 |
|
|
75 |
@node Interface |
@node Interface |
93 |
* Forwarding:: Forwarding a message via news or mail. |
* Forwarding:: Forwarding a message via news or mail. |
94 |
* Resending:: Resending a mail message. |
* Resending:: Resending a mail message. |
95 |
* Bouncing:: Bouncing a mail message. |
* Bouncing:: Bouncing a mail message. |
96 |
|
* Mailing Lists:: Send mail to mailing lists. |
97 |
@end menu |
@end menu |
98 |
|
|
99 |
|
|
152 |
header will be used. |
header will be used. |
153 |
|
|
154 |
This function can also return a list. In that case, each list element |
This function can also return a list. In that case, each list element |
155 |
should be a cons, where the car should be the name of an header |
should be a cons, where the @sc{car} should be the name of a header |
156 |
(eg. @code{Cc}) and the cdr should be the header value |
(e.g. @code{Cc}) and the @sc{cdr} should be the header value |
157 |
(eg. @samp{larsi@@ifi.uio.no}). All these headers will be inserted into |
(e.g. @samp{larsi@@ifi.uio.no}). All these headers will be inserted into |
158 |
the head of the outgoing mail. |
the head of the outgoing mail. |
159 |
|
|
160 |
|
|
173 |
@code{message-wide-reply-to-function}. It is used in the same way as |
@code{message-wide-reply-to-function}. It is used in the same way as |
174 |
@code{message-reply-to-function} (@pxref{Reply}). |
@code{message-reply-to-function} (@pxref{Reply}). |
175 |
|
|
176 |
@findex message-dont-reply-to-names |
@vindex message-dont-reply-to-names |
177 |
Addresses that match the @code{message-dont-reply-to-names} regular |
Addresses that match the @code{message-dont-reply-to-names} regular |
178 |
expression will be removed from the @code{Cc} header. |
expression will be removed from the @code{Cc} header. |
179 |
|
|
180 |
|
@vindex message-wide-reply-confirm-recipients |
181 |
|
If @code{message-wide-reply-confirm-recipients} is non-@code{nil} you |
182 |
|
will be asked to confirm that you want to reply to multiple |
183 |
|
recipients. The default is @code{nil}. |
184 |
|
|
185 |
@node Followup |
@node Followup |
186 |
@section Followup |
@section Followup |
210 |
The @code{message-cancel-news} command cancels the article in the |
The @code{message-cancel-news} command cancels the article in the |
211 |
current buffer. |
current buffer. |
212 |
|
|
213 |
|
@vindex message-cancel-message |
214 |
|
The value of @code{message-cancel-message} is inserted in the body of |
215 |
|
the cancel message. The default is @samp{I am canceling my own |
216 |
|
article.}. |
217 |
|
|
218 |
|
@cindex Cancel Locks |
219 |
|
@vindex message-insert-canlock |
220 |
|
@cindex canlock |
221 |
|
When Message posts news messages, it inserts @code{Cancel-Lock} |
222 |
|
headers by default. This is a cryptographic header that ensures that |
223 |
|
only you can cancel your own messages, which is nice. The downside |
224 |
|
is that if you lose your @file{.emacs} file (which is where Gnus |
225 |
|
stores the secret cancel lock password (which is generated |
226 |
|
automatically the first time you use this feature)), you won't be |
227 |
|
able to cancel your message. |
228 |
|
|
229 |
|
Whether to insert the header or not is controlled by the |
230 |
|
@code{message-insert-canlock} variable. |
231 |
|
|
232 |
|
Not many news servers respect the @code{Cancel-Lock} header yet, but |
233 |
|
this is expected to change in the future. |
234 |
|
|
235 |
|
|
236 |
@node Superseding |
@node Superseding |
237 |
@section Superseding |
@section Superseding |
289 |
@item message-forward-as-mime |
@item message-forward-as-mime |
290 |
@vindex message-forward-as-mime |
@vindex message-forward-as-mime |
291 |
If this variable is @code{t} (the default), forwarded messages are |
If this variable is @code{t} (the default), forwarded messages are |
292 |
included as inline MIME RFC822 parts. If it's @code{nil}, forwarded |
included as inline @acronym{MIME} RFC822 parts. If it's @code{nil}, forwarded |
293 |
messages will just be copied inline to the new message, like previous, |
messages will just be copied inline to the new message, like previous, |
294 |
non MIME-savvy versions of gnus would do. |
non @acronym{MIME}-savvy versions of Gnus would do. |
295 |
|
|
296 |
|
@item message-forward-before-signature |
297 |
|
@vindex message-forward-before-signature |
298 |
|
If non-@code{nil}, put forwarded message before signature, else after. |
299 |
|
|
300 |
@end table |
@end table |
301 |
|
|
302 |
|
|
329 |
@samp{^\\(Received\\|Return-Path\\):}. |
@samp{^\\(Received\\|Return-Path\\):}. |
330 |
|
|
331 |
|
|
332 |
|
@node Mailing Lists |
333 |
|
@section Mailing Lists |
334 |
|
|
335 |
|
@cindex Mail-Followup-To |
336 |
|
Sometimes while posting to mailing lists, the poster needs to direct |
337 |
|
followups to the post to specific places. The Mail-Followup-To (MFT) |
338 |
|
was created to enable just this. Two example scenarios where this is |
339 |
|
useful: |
340 |
|
|
341 |
|
@itemize @bullet |
342 |
|
@item |
343 |
|
A mailing list poster can use MFT to express that responses should be |
344 |
|
sent to just the list, and not the poster as well. This will happen |
345 |
|
if the poster is already subscribed to the list. |
346 |
|
|
347 |
|
@item |
348 |
|
A mailing list poster can use MFT to express that responses should be |
349 |
|
sent to the list and the poster as well. This will happen if the poster |
350 |
|
is not subscribed to the list. |
351 |
|
|
352 |
|
@item |
353 |
|
If a message is posted to several mailing lists, MFT may also be used |
354 |
|
to direct the following discussion to one list only, because |
355 |
|
discussions that are spread over several lists tend to be fragmented |
356 |
|
and very difficult to follow. |
357 |
|
|
358 |
|
@end itemize |
359 |
|
|
360 |
|
Gnus honors the MFT header in other's messages (i.e. while following |
361 |
|
up to someone else's post) and also provides support for generating |
362 |
|
sensible MFT headers for outgoing messages as well. |
363 |
|
|
364 |
|
@c @menu |
365 |
|
@c * Honoring an MFT post:: What to do when one already exists |
366 |
|
@c * Composing with a MFT header:: Creating one from scratch. |
367 |
|
@c @end menu |
368 |
|
|
369 |
|
@c @node Composing with a MFT header |
370 |
|
@subsection Composing a correct MFT header automagically |
371 |
|
|
372 |
|
The first step in getting Gnus to automagically generate a MFT header |
373 |
|
in posts you make is to give Gnus a list of the mailing lists |
374 |
|
addresses you are subscribed to. You can do this in more than one |
375 |
|
way. The following variables would come in handy. |
376 |
|
|
377 |
|
@table @code |
378 |
|
|
379 |
|
@vindex message-subscribed-addresses |
380 |
|
@item message-subscribed-addresses |
381 |
|
This should be a list of addresses the user is subscribed to. Its |
382 |
|
default value is @code{nil}. Example: |
383 |
|
@lisp |
384 |
|
(setq message-subscribed-addresses |
385 |
|
'("ding@@gnus.org" "bing@@noose.org")) |
386 |
|
@end lisp |
387 |
|
|
388 |
|
@vindex message-subscribed-regexps |
389 |
|
@item message-subscribed-regexps |
390 |
|
This should be a list of regexps denoting the addresses of mailing |
391 |
|
lists subscribed to. Default value is @code{nil}. Example: If you |
392 |
|
want to achieve the same result as above: |
393 |
|
@lisp |
394 |
|
(setq message-subscribed-regexps |
395 |
|
'("\\(ding@@gnus\\)\\|\\(bing@@noose\\)\\.org") |
396 |
|
@end lisp |
397 |
|
|
398 |
|
@vindex message-subscribed-address-functions |
399 |
|
@item message-subscribed-address-functions |
400 |
|
This can be a list of functions to be called (one at a time!!) to |
401 |
|
determine the value of MFT headers. It is advisable that these |
402 |
|
functions not take any arguments. Default value is @code{nil}. |
403 |
|
|
404 |
|
There is a pre-defined function in Gnus that is a good candidate for |
405 |
|
this variable. @code{gnus-find-subscribed-addresses} is a function |
406 |
|
that returns a list of addresses corresponding to the groups that have |
407 |
|
the @code{subscribed} (@pxref{Group Parameters, ,Group Parameters, |
408 |
|
gnus, The Gnus Manual}) group parameter set to a non-@code{nil} value. |
409 |
|
This is how you would do it. |
410 |
|
|
411 |
|
@lisp |
412 |
|
(setq message-subscribed-address-functions |
413 |
|
'(gnus-find-subscribed-addresses)) |
414 |
|
@end lisp |
415 |
|
|
416 |
|
@vindex message-subscribed-address-file |
417 |
|
@item message-subscribed-address-file |
418 |
|
You might be one organised human freak and have a list of addresses of |
419 |
|
all subscribed mailing lists in a separate file! Then you can just |
420 |
|
set this variable to the name of the file and life would be good. |
421 |
|
|
422 |
|
@end table |
423 |
|
|
424 |
|
You can use one or more of the above variables. All their values are |
425 |
|
``added'' in some way that works :-) |
426 |
|
|
427 |
|
Now you are all set. Just start composing a message as you normally do. |
428 |
|
And just send it; as always. Just before the message is sent out, Gnus' |
429 |
|
MFT generation thingy kicks in and checks if the message already has a |
430 |
|
MFT field. If there is one, it is left alone. (Except if it's empty - |
431 |
|
in that case, the field is removed and is not replaced with an |
432 |
|
automatically generated one. This lets you disable MFT generation on a |
433 |
|
per-message basis.) If there is none, then the list of recipient |
434 |
|
addresses (in the To: and Cc: headers) is checked to see if one of them |
435 |
|
is a list address you are subscribed to. If none of them is a list |
436 |
|
address, then no MFT is generated; otherwise, a MFT is added to the |
437 |
|
other headers and set to the value of all addresses in To: and Cc: |
438 |
|
|
439 |
|
@kindex C-c C-f C-a |
440 |
|
@findex message-generate-unsubscribed-mail-followup-to |
441 |
|
@kindex C-c C-f C-m |
442 |
|
@findex message-goto-mail-followup-to |
443 |
|
Hm. ``So'', you ask, ``what if I send an email to a list I am not |
444 |
|
subscribed to? I want my MFT to say that I want an extra copy.'' (This |
445 |
|
is supposed to be interpreted by others the same way as if there were no |
446 |
|
MFT, but you can use an explicit MFT to override someone else's |
447 |
|
to-address group parameter.) The function |
448 |
|
@code{message-generate-unsubscribed-mail-followup-to} might come in |
449 |
|
handy. It is bound to @kbd{C-c C-f C-a} by default. In any case, you |
450 |
|
can insert a MFT of your own choice; @kbd{C-c C-f C-m} |
451 |
|
(@code{message-goto-mail-followup-to}) will help you get started. |
452 |
|
|
453 |
|
@c @node Honoring an MFT post |
454 |
|
@subsection Honoring an MFT post |
455 |
|
|
456 |
|
@vindex message-use-mail-followup-to |
457 |
|
When you followup to a post on a mailing list, and the post has a MFT |
458 |
|
header, Gnus' action will depend on the value of the variable |
459 |
|
@code{message-use-mail-followup-to}. This variable can be one of: |
460 |
|
|
461 |
|
@table @code |
462 |
|
@item use |
463 |
|
Always honor MFTs. The To: and Cc: headers in your followup will be |
464 |
|
derived from the MFT header of the original post. This is the default. |
465 |
|
|
466 |
|
@item nil |
467 |
|
Always dishonor MFTs (just ignore the darned thing) |
468 |
|
|
469 |
|
@item ask |
470 |
|
Gnus will prompt you for an action. |
471 |
|
|
472 |
|
@end table |
473 |
|
|
474 |
|
It is considered good netiquette to honor MFT, as it is assumed the |
475 |
|
fellow who posted a message knows where the followups need to go |
476 |
|
better than you do. |
477 |
|
|
478 |
@node Commands |
@node Commands |
479 |
@chapter Commands |
@chapter Commands |
480 |
|
|
481 |
@menu |
@menu |
482 |
* Buffer Entry:: Commands after entering a Message buffer. |
* Buffer Entry:: Commands after entering a Message buffer. |
483 |
* Header Commands:: Commands for moving to headers. |
* Header Commands:: Commands for moving headers or changing headers. |
484 |
* Movement:: Moving around in message buffers. |
* Movement:: Moving around in message buffers. |
485 |
* Insertion:: Inserting things into message buffers. |
* Insertion:: Inserting things into message buffers. |
486 |
* MIME:: @sc{mime} considerations. |
* MIME:: @acronym{MIME} considerations. |
487 |
|
* IDNA:: Non-@acronym{ASCII} domain name considerations. |
488 |
|
* Security:: Signing and encrypting messages. |
489 |
* Various Commands:: Various things. |
* Various Commands:: Various things. |
490 |
* Sending:: Actually sending the message. |
* Sending:: Actually sending the message. |
491 |
* Mail Aliases:: How to use mail aliases. |
* Mail Aliases:: How to use mail aliases. |
511 |
@node Header Commands |
@node Header Commands |
512 |
@section Header Commands |
@section Header Commands |
513 |
|
|
514 |
All these commands move to the header in question. If it doesn't exist, |
@subsection Commands for moving to headers |
515 |
it will be inserted. |
|
516 |
|
These following commands move to the header in question. If it doesn't |
517 |
|
exist, it will be inserted. |
518 |
|
|
519 |
@table @kbd |
@table @kbd |
520 |
|
|
521 |
@item C-c ? |
@item C-c ? |
522 |
@kindex C-c ? |
@kindex C-c ? |
523 |
@findex message-goto-to |
@findex describe-mode |
524 |
Describe the message mode. |
Describe the message mode. |
525 |
|
|
526 |
@item C-c C-f C-t |
@item C-c C-f C-t |
528 |
@findex message-goto-to |
@findex message-goto-to |
529 |
Go to the @code{To} header (@code{message-goto-to}). |
Go to the @code{To} header (@code{message-goto-to}). |
530 |
|
|
531 |
|
@item C-c C-f C-o |
532 |
|
@kindex C-c C-f C-o |
533 |
|
@findex message-goto-from |
534 |
|
Go to the @code{From} header (@code{message-goto-from}). (The ``o'' |
535 |
|
in the key binding is for Originator.) |
536 |
|
|
537 |
@item C-c C-f C-b |
@item C-c C-f C-b |
538 |
@kindex C-c C-f C-b |
@kindex C-c C-f C-b |
539 |
@findex message-goto-bcc |
@findex message-goto-bcc |
540 |
Go to the @code{Bcc} header (@code{message-goto-bcc}). |
Go to the @code{Bcc} header (@code{message-goto-bcc}). |
541 |
|
|
542 |
@item C-c C-f C-w |
@item C-c C-f C-f |
543 |
@kindex C-c C-f C-w |
@kindex C-c C-f C-f |
544 |
@findex message-goto-fcc |
@findex message-goto-fcc |
545 |
Go to the @code{Fcc} header (@code{message-goto-fcc}). |
Go to the @code{Fcc} header (@code{message-goto-fcc}). |
546 |
|
|
569 |
@findex message-goto-distribution |
@findex message-goto-distribution |
570 |
Go to the @code{Distribution} header (@code{message-goto-distribution}). |
Go to the @code{Distribution} header (@code{message-goto-distribution}). |
571 |
|
|
572 |
@item C-c C-f C-f |
@item C-c C-f C-o |
573 |
@kindex C-c C-f C-f |
@kindex C-c C-f C-o |
574 |
@findex message-goto-followup-to |
@findex message-goto-followup-to |
575 |
Go to the @code{Followup-To} header (@code{message-goto-followup-to}). |
Go to the @code{Followup-To} header (@code{message-goto-followup-to}). |
576 |
|
|
584 |
@findex message-goto-summary |
@findex message-goto-summary |
585 |
Go to the @code{Summary} header (@code{message-goto-summary}). |
Go to the @code{Summary} header (@code{message-goto-summary}). |
586 |
|
|
587 |
|
@item C-c C-f C-i |
588 |
|
@kindex C-c C-f C-i |
589 |
|
@findex message-insert-or-toggle-importance |
590 |
|
This inserts the @samp{Importance:} header with a value of |
591 |
|
@samp{high}. This header is used to signal the importance of the |
592 |
|
message to the receiver. If the header is already present in the |
593 |
|
buffer, it cycles between the three valid values according to RFC |
594 |
|
1376: @samp{low}, @samp{normal} and @samp{high}. |
595 |
|
|
596 |
|
@item C-c C-f C-a |
597 |
|
@kindex C-c C-f C-a |
598 |
|
@findex message-generate-unsubscribed-mail-followup-to |
599 |
|
Insert a reasonable @samp{Mail-Followup-To:} header |
600 |
|
(@pxref{Mailing Lists}) in a post to an |
601 |
|
unsubscribed list. When making original posts to a mailing list you are |
602 |
|
not subscribed to, you have to type in a @samp{Mail-Followup-To:} header |
603 |
|
by hand. The contents, usually, are the addresses of the list and your |
604 |
|
own address. This function inserts such a header automatically. It |
605 |
|
fetches the contents of the @samp{To:} header in the current mail |
606 |
|
buffer, and appends the current @code{user-mail-address}. |
607 |
|
|
608 |
|
If the optional argument @code{include-cc} is non-@code{nil}, the |
609 |
|
addresses in the @samp{Cc:} header are also put into the |
610 |
|
@samp{Mail-Followup-To:} header. |
611 |
|
|
612 |
|
@end table |
613 |
|
|
614 |
|
@subsection Commands to change headers |
615 |
|
|
616 |
|
@table @kbd |
617 |
|
|
618 |
|
@item C-c C-o |
619 |
|
@kindex C-c C-o |
620 |
|
@findex message-sort-headers |
621 |
|
@vindex message-header-format-alist |
622 |
|
Sort headers according to @code{message-header-format-alist} |
623 |
|
(@code{message-sort-headers}). |
624 |
|
|
625 |
|
@item C-c C-t |
626 |
|
@kindex C-c C-t |
627 |
|
@findex message-insert-to |
628 |
|
Insert a @code{To} header that contains the @code{Reply-To} or |
629 |
|
@code{From} header of the message you're following up |
630 |
|
(@code{message-insert-to}). |
631 |
|
|
632 |
|
@item C-c C-n |
633 |
|
@kindex C-c C-n |
634 |
|
@findex message-insert-newsgroups |
635 |
|
Insert a @code{Newsgroups} header that reflects the @code{Followup-To} |
636 |
|
or @code{Newsgroups} header of the article you're replying to |
637 |
|
(@code{message-insert-newsgroups}). |
638 |
|
|
639 |
|
@item C-c C-l |
640 |
|
@kindex C-c C-l |
641 |
|
@findex message-to-list-only |
642 |
|
Send a message to the list only. Remove all addresses but the list |
643 |
|
address from @code{To:} and @code{Cc:} headers. |
644 |
|
|
645 |
|
@item C-c M-n |
646 |
|
@kindex C-c M-n |
647 |
|
@findex message-insert-disposition-notification-to |
648 |
|
Insert a request for a disposition |
649 |
|
notification. (@code{message-insert-disposition-notification-to}). |
650 |
|
This means that if the recipient support RFC 2298 she might send you a |
651 |
|
notification that she received the message. |
652 |
|
|
653 |
|
@item M-x message-insert-importance-high |
654 |
|
@kindex M-x message-insert-importance-high |
655 |
|
@findex message-insert-importance-high |
656 |
|
@cindex Importance |
657 |
|
Insert an @samp{Importance} header with a value of @samp{high}, |
658 |
|
deleting headers if necessary. |
659 |
|
|
660 |
|
@item M-x message-insert-importance-low |
661 |
|
@kindex M-x message-insert-importance-low |
662 |
|
@findex message-insert-importance-low |
663 |
|
@cindex Importance |
664 |
|
Insert an @samp{Importance} header with a value of @samp{low}, deleting |
665 |
|
headers if necessary. |
666 |
|
|
667 |
|
@item C-c C-f s |
668 |
|
@kindex C-c C-f s |
669 |
|
@findex message-change-subject |
670 |
|
@cindex Subject |
671 |
|
Change the current @samp{Subject} header. Ask for new @samp{Subject} |
672 |
|
header and append @samp{(was: <Old Subject>)}. The old subject can be |
673 |
|
stripped on replying, see @code{message-subject-trailing-was-query} |
674 |
|
(@pxref{Message Headers}). |
675 |
|
|
676 |
|
@item C-c C-f x |
677 |
|
@kindex C-c C-f x |
678 |
|
@findex message-cross-post-followup-to |
679 |
|
@vindex message-cross-post-default |
680 |
|
@cindex X-Post |
681 |
|
@cindex cross-post |
682 |
|
Ask for an additional @samp{Newsgroups} and @samp{FollowUp-To} for a |
683 |
|
cross-post. @code{message-cross-post-followup-to} mangles |
684 |
|
@samp{FollowUp-To} and @samp{Newsgroups} header to point to group. |
685 |
|
If @code{message-cross-post-default} is @code{nil} or if called with a |
686 |
|
prefix-argument @samp{Follow-Up} is set, but the message is not |
687 |
|
cross-posted. |
688 |
|
|
689 |
|
@item C-c C-f t |
690 |
|
@kindex C-c C-f t |
691 |
|
@findex message-reduce-to-to-cc |
692 |
|
Replace contents of @samp{To} header with contents of @samp{Cc} or |
693 |
|
@samp{Bcc} header. |
694 |
|
|
695 |
|
@item C-c C-f w |
696 |
|
@kindex C-c C-f w |
697 |
|
@findex message-insert-wide-reply |
698 |
|
Insert @samp{To} and @samp{Cc} headers as if you were doing a wide |
699 |
|
reply. |
700 |
|
|
701 |
|
@item C-c C-f a |
702 |
|
@kindex C-c C-f a |
703 |
|
@findex message-add-archive-header |
704 |
|
@vindex message-archive-header |
705 |
|
@vindex message-archive-note |
706 |
|
@cindex X-No-Archive |
707 |
|
Insert @samp{X-No-Archive: Yes} in the header and a note in the body. |
708 |
|
The header and the note can be customized using |
709 |
|
@code{message-archive-header} and @code{message-archive-note}. When |
710 |
|
called with a prefix argument, ask for a text to insert. If you don't |
711 |
|
want the note in the body, set @code{message-archive-note} to |
712 |
|
@code{nil}. |
713 |
|
|
714 |
@end table |
@end table |
715 |
|
|
716 |
|
|
729 |
@findex message-goto-signature |
@findex message-goto-signature |
730 |
Move to the signature of the message (@code{message-goto-signature}). |
Move to the signature of the message (@code{message-goto-signature}). |
731 |
|
|
732 |
|
@item C-a |
733 |
|
@kindex C-a |
734 |
|
@findex message-beginning-of-line |
735 |
|
@vindex message-beginning-of-line |
736 |
|
If at beginning of header value, go to beginning of line, else go to |
737 |
|
beginning of header value. (The header value comes after the header |
738 |
|
name and the colon.) This behaviour can be disabled by toggling |
739 |
|
the variable @code{message-beginning-of-line}. |
740 |
|
|
741 |
@end table |
@end table |
742 |
|
|
743 |
|
|
778 |
@findex message-insert-headers |
@findex message-insert-headers |
779 |
Insert the message headers (@code{message-insert-headers}). |
Insert the message headers (@code{message-insert-headers}). |
780 |
|
|
781 |
|
@item C-c M-m |
782 |
|
@kindex C-c M-m |
783 |
|
@findex message-mark-inserted-region |
784 |
|
Mark some region in the current article with enclosing tags. |
785 |
|
See @code{message-mark-insert-begin} and @code{message-mark-insert-end}. |
786 |
|
|
787 |
|
@item C-c M-f |
788 |
|
@kindex C-c M-f |
789 |
|
@findex message-mark-insert-file |
790 |
|
Insert a file in the current article with enclosing tags. |
791 |
|
See @code{message-mark-insert-begin} and @code{message-mark-insert-end}. |
792 |
|
|
793 |
@end table |
@end table |
794 |
|
|
|
@table @code |
|
|
@item message-ignored-cited-headers |
|
|
@vindex message-ignored-cited-headers |
|
|
All headers that match this regexp will be removed from yanked |
|
|
messages. The default is @samp{.}, which means that all headers will be |
|
|
removed. |
|
795 |
|
|
796 |
@item message-citation-line-function |
@node MIME |
797 |
@vindex message-citation-line-function |
@section MIME |
798 |
Function called to insert the citation line. The default is |
@cindex MML |
799 |
@code{message-insert-citation-line}, which will lead to citation lines |
@cindex MIME |
800 |
that look like: |
@cindex multipart |
801 |
|
@cindex attachment |
802 |
|
|
803 |
@example |
Message is a @acronym{MIME}-compliant posting agent. The user generally |
804 |
Hallvard B Furuseth <h.b.furuseth@@usit.uio.no> writes: |
doesn't have to do anything to make the @acronym{MIME} happen---Message will |
805 |
@end example |
automatically add the @code{Content-Type} and |
806 |
|
@code{Content-Transfer-Encoding} headers. |
807 |
|
|
808 |
Point will be at the beginning of the body of the message when this |
The most typical thing users want to use the multipart things in |
809 |
function is called. |
@acronym{MIME} for is to add ``attachments'' to mail they send out. This can |
810 |
|
be done with the @kbd{C-c C-a} command, which will prompt for a file |
811 |
|
name and a @acronym{MIME} type. |
812 |
|
|
813 |
@item message-yank-prefix |
You can also create arbitrarily complex multiparts using the @acronym{MML} |
814 |
@vindex message-yank-prefix |
language (@pxref{Composing, , Composing, emacs-mime, The Emacs MIME |
815 |
@cindex yanking |
Manual}). |
|
@cindex quoting |
|
|
When you are replying to or following up an article, you normally want |
|
|
to quote the person you are answering. Inserting quoted text is done by |
|
|
@dfn{yanking}, and each quoted line you yank will have |
|
|
@code{message-yank-prefix} prepended to it. The default is @samp{> }. |
|
816 |
|
|
817 |
@item message-indentation-spaces |
@node IDNA |
818 |
@vindex message-indentation-spaces |
@section IDNA |
819 |
Number of spaces to indent yanked messages. |
@cindex IDNA |
820 |
|
@cindex internationalized domain names |
821 |
|
@cindex non-ascii domain names |
822 |
|
|
823 |
|
Message is a @acronym{IDNA}-compliant posting agent. The user |
824 |
|
generally doesn't have to do anything to make the @acronym{IDNA} |
825 |
|
happen---Message will encode non-@acronym{ASCII} domain names in @code{From}, |
826 |
|
@code{To}, and @code{Cc} headers automatically. |
827 |
|
|
828 |
|
Until @acronym{IDNA} becomes more well known, Message queries you |
829 |
|
whether @acronym{IDNA} encoding of the domain name really should |
830 |
|
occur. Some users might not be aware that domain names can contain |
831 |
|
non-@acronym{ASCII} now, so this gives them a safety net if they accidently |
832 |
|
typed a non-@acronym{ASCII} domain name. |
833 |
|
|
834 |
|
@vindex message-use-idna |
835 |
|
The @code{message-use-idna} variable control whether @acronym{IDNA} is |
836 |
|
used. If the variable is @code{nil} no @acronym{IDNA} encoding will |
837 |
|
ever happen, if it is set to the symbol @code{ask} the user will be |
838 |
|
queried (the default), and if set to @code{t} @acronym{IDNA} encoding |
839 |
|
happens automatically. |
840 |
|
|
841 |
|
@findex message-idna-to-ascii-rhs |
842 |
|
If you want to experiment with the @acronym{IDNA} encoding, you can |
843 |
|
invoke @kbd{M-x message-idna-to-ascii-rhs RET} in the message buffer |
844 |
|
to have the non-@acronym{ASCII} domain names encoded while you edit the message. |
845 |
|
|
846 |
|
Note that you must have @uref{http://www.gnu.org/software/libidn/, GNU |
847 |
|
Libidn} installed in order to use this functionality. |
848 |
|
|
849 |
|
@node Security |
850 |
|
@section Security |
851 |
|
@cindex Security |
852 |
|
@cindex S/MIME |
853 |
|
@cindex PGP |
854 |
|
@cindex PGP/MIME |
855 |
|
@cindex sign |
856 |
|
@cindex encrypt |
857 |
|
@cindex secure |
858 |
|
|
859 |
|
Using the @acronym{MML} language, Message is able to create digitally |
860 |
|
signed and digitally encrypted messages. Message (or rather |
861 |
|
@acronym{MML}) currently support @acronym{PGP} (RFC 1991), |
862 |
|
@acronym{PGP/MIME} (RFC 2015/3156) and @acronym{S/MIME}. Instructing |
863 |
|
@acronym{MML} to perform security operations on a @acronym{MIME} part is |
864 |
|
done using the @kbd{C-c C-m s} key map for signing and the @kbd{C-c C-m |
865 |
|
c} key map for encryption, as follows. |
866 |
|
|
867 |
@item message-cite-function |
@table @kbd |
|
@vindex message-cite-function |
|
|
@findex message-cite-original |
|
|
@findex sc-cite-original |
|
|
@findex message-cite-original-without-signature |
|
|
@cindex Supercite |
|
|
Function for citing an original message. The default is |
|
|
@code{message-cite-original}, which simply inserts the original message |
|
|
and prepends @samp{> } to each line. |
|
|
@code{message-cite-original-without-signature} does the same, but elides |
|
|
the signature. You can also set it to @code{sc-cite-original} to use |
|
|
Supercite. |
|
868 |
|
|
869 |
@item message-indent-citation-function |
@item C-c C-m s s |
870 |
@vindex message-indent-citation-function |
@kindex C-c C-m s s |
871 |
Function for modifying a citation just inserted in the mail buffer. |
@findex mml-secure-message-sign-smime |
|
This can also be a list of functions. Each function can find the |
|
|
citation between @code{(point)} and @code{(mark t)}. And each function |
|
|
should leave point and mark around the citation text as modified. |
|
872 |
|
|
873 |
@item message-signature |
Digitally sign current message using @acronym{S/MIME}. |
|
@vindex message-signature |
|
|
String to be inserted at the end of the message buffer. If @code{t} |
|
|
(which is the default), the @code{message-signature-file} file will be |
|
|
inserted instead. If a function, the result from the function will be |
|
|
used instead. If a form, the result from the form will be used instead. |
|
|
If this variable is @code{nil}, no signature will be inserted at all. |
|
874 |
|
|
875 |
@item message-signature-file |
@item C-c C-m s o |
876 |
@vindex message-signature-file |
@kindex C-c C-m s o |
877 |
If non-@code{nil} the name of a file containing the signature to be |
@findex mml-secure-message-sign-pgp |
|
inserted at the end of the buffer. This is ignored if the file |
|
|
doesn't exist. The default is @samp{~/.signature}. |
|
878 |
|
|
879 |
@end table |
Digitally sign current message using @acronym{PGP}. |
880 |
|
|
881 |
Note that RFC1036bis says that a signature should be preceded by the three |
@item C-c C-m s p |
882 |
characters @samp{-- } on a line by themselves. This is to make it |
@kindex C-c C-m s p |
883 |
easier for the recipient to automatically recognize and process the |
@findex mml-secure-message-sign-pgpmime |
|
signature. So don't remove those characters, even though you might feel |
|
|
that they ruin your beautiful design, like, totally. |
|
884 |
|
|
885 |
Also note that no signature should be more than four lines long. |
Digitally sign current message using @acronym{PGP/MIME}. |
|
Including ASCII graphics is an efficient way to get everybody to believe |
|
|
that you are silly and have nothing important to say. |
|
886 |
|
|
887 |
|
@item C-c C-m c s |
888 |
|
@kindex C-c C-m c s |
889 |
|
@findex mml-secure-message-encrypt-smime |
890 |
|
|
891 |
@node MIME |
Digitally encrypt current message using @acronym{S/MIME}. |
|
@section MIME |
|
|
@cindex MML |
|
|
@cindex MIME |
|
|
@cindex multipart |
|
|
@cindex attachment |
|
892 |
|
|
893 |
Message is a @sc{mime}-compliant posting agent. The user generally |
@item C-c C-m c o |
894 |
doesn't have to do anything to make the @sc{mime} happen---Message will |
@kindex C-c C-m c o |
895 |
automatically add the @code{Content-Type} and |
@findex mml-secure-message-encrypt-pgp |
|
@code{Content-Transfer-Encoding} headers. |
|
896 |
|
|
897 |
The most typical thing users want to use the multipart things in |
Digitally encrypt current message using @acronym{PGP}. |
|
@sc{mime} for is to add ``attachments'' to mail they send out. This can |
|
|
be done with the @code{C-c C-a} command, which will prompt for a file |
|
|
name and a @sc{mime} type. |
|
898 |
|
|
899 |
You can also create arbitrarily complex multiparts using the MML |
@item C-c C-m c p |
900 |
language (@pxref{Composing, , Composing, emacs-mime, The Emacs MIME |
@kindex C-c C-m c p |
901 |
Manual}). |
@findex mml-secure-message-encrypt-pgpmime |
902 |
|
|
903 |
|
Digitally encrypt current message using @acronym{PGP/MIME}. |
904 |
|
|
905 |
|
@item C-c C-m C-n |
906 |
|
@kindex C-c C-m C-n |
907 |
|
@findex mml-unsecure-message |
908 |
|
Remove security related @acronym{MML} tags from message. |
909 |
|
|
910 |
|
@end table |
911 |
|
|
912 |
|
These commands do not immediately sign or encrypt the message, they |
913 |
|
merely insert the proper @acronym{MML} secure tag to instruct the |
914 |
|
@acronym{MML} engine to perform that operation when the message is |
915 |
|
actually sent. They may perform other operations too, such as locating |
916 |
|
and retrieving a @acronym{S/MIME} certificate of the person you wish to |
917 |
|
send encrypted mail to. When the mml parsing engine converts your |
918 |
|
@acronym{MML} into a properly encoded @acronym{MIME} message, the secure |
919 |
|
tag will be replaced with either a part or a multipart tag. If your |
920 |
|
message contains other mml parts, a multipart tag will be used; if no |
921 |
|
other parts are present in your message a single part tag will be used. |
922 |
|
This way, message mode will do the Right Thing (TM) with |
923 |
|
signed/encrypted multipart messages. |
924 |
|
|
925 |
|
Since signing and especially encryption often is used when sensitive |
926 |
|
information is sent, you may want to have some way to ensure that your |
927 |
|
mail is actually signed or encrypted. After invoking the above |
928 |
|
sign/encrypt commands, it is possible to preview the raw article by |
929 |
|
using @kbd{C-u C-c RET P} (@code{mml-preview}). Then you can |
930 |
|
verify that your long rant about what your ex-significant other or |
931 |
|
whomever actually did with that funny looking person at that strange |
932 |
|
party the other night, actually will be sent encrypted. |
933 |
|
|
934 |
|
@emph{Note!} Neither @acronym{PGP/MIME} nor @acronym{S/MIME} encrypt/signs |
935 |
|
RFC822 headers. They only operate on the @acronym{MIME} object. Keep this |
936 |
|
in mind before sending mail with a sensitive Subject line. |
937 |
|
|
938 |
|
By default, when encrypting a message, Gnus will use the |
939 |
|
``signencrypt'' mode, which means the message is both signed and |
940 |
|
encrypted. If you would like to disable this for a particular |
941 |
|
message, give the @code{mml-secure-message-encrypt-*} command a prefix |
942 |
|
argument, e.g., @kbd{C-u C-c C-m c p}. |
943 |
|
|
944 |
|
Actually using the security commands above is not very difficult. At |
945 |
|
least not compared with making sure all involved programs talk with each |
946 |
|
other properly. Thus, we now describe what external libraries or |
947 |
|
programs are required to make things work, and some small general hints. |
948 |
|
|
949 |
|
@subsection Using S/MIME |
950 |
|
|
951 |
|
@emph{Note!} This section assume you have a basic familiarity with |
952 |
|
modern cryptography, @acronym{S/MIME}, various PKCS standards, OpenSSL and |
953 |
|
so on. |
954 |
|
|
955 |
|
The @acronym{S/MIME} support in Message (and @acronym{MML}) require |
956 |
|
OpenSSL. OpenSSL performs the actual @acronym{S/MIME} sign/encrypt |
957 |
|
operations. OpenSSL can be found at @uref{http://www.openssl.org/}. |
958 |
|
OpenSSL 0.9.6 and later should work. Version 0.9.5a cannot extract mail |
959 |
|
addresses from certificates, and it insert a spurious CR character into |
960 |
|
@acronym{MIME} separators so you may wish to avoid it if you would like |
961 |
|
to avoid being regarded as someone who send strange mail. (Although by |
962 |
|
sending @acronym{S/MIME} messages you've probably already lost that |
963 |
|
contest.) |
964 |
|
|
965 |
|
To be able to send encrypted mail, a personal certificate is not |
966 |
|
required. Message (@acronym{MML}) need a certificate for the person to whom you |
967 |
|
wish to communicate with though. You're asked for this when you type |
968 |
|
@kbd{C-c C-m c s}. Currently there are two ways to retrieve this |
969 |
|
certificate, from a local file or from DNS. If you chose a local |
970 |
|
file, it need to contain a X.509 certificate in @acronym{PEM} format. |
971 |
|
If you chose DNS, you're asked for the domain name where the |
972 |
|
certificate is stored, the default is a good guess. To my belief, |
973 |
|
Message (@acronym{MML}) is the first mail agent in the world to support |
974 |
|
retrieving @acronym{S/MIME} certificates from DNS, so you're not |
975 |
|
likely to find very many certificates out there. At least there |
976 |
|
should be one, stored at the domain @code{simon.josefsson.org}. LDAP |
977 |
|
is a more popular method of distributing certificates, support for it |
978 |
|
is planned. (Meanwhile, you can use @code{ldapsearch} from the |
979 |
|
command line to retrieve a certificate into a file and use it.) |
980 |
|
|
981 |
|
As for signing messages, OpenSSL can't perform signing operations |
982 |
|
without some kind of configuration. Especially, you need to tell it |
983 |
|
where your private key and your certificate is stored. @acronym{MML} |
984 |
|
uses an Emacs interface to OpenSSL, aptly named @code{smime.el}, and it |
985 |
|
contain a @code{custom} group used for this configuration. So, try |
986 |
|
@kbd{M-x customize-group RET smime RET} and look around. |
987 |
|
|
988 |
|
Currently there is no support for talking to a CA (or RA) to create |
989 |
|
your own certificate. None is planned either. You need to do this |
990 |
|
manually with OpenSSL or using some other program. I used Netscape |
991 |
|
and got a free @acronym{S/MIME} certificate from one of the big CA's on the |
992 |
|
net. Netscape is able to export your private key and certificate in |
993 |
|
PKCS #12 format. Use OpenSSL to convert this into a plain X.509 |
994 |
|
certificate in PEM format as follows. |
995 |
|
|
996 |
|
@example |
997 |
|
$ openssl pkcs12 -in ns.p12 -clcerts -nodes > key+cert.pem |
998 |
|
@end example |
999 |
|
|
1000 |
|
The @file{key+cert.pem} file should be pointed to from the |
1001 |
|
@code{smime-keys} variable. You should now be able to send signed mail. |
1002 |
|
|
1003 |
|
@emph{Note!} Your private key is now stored unencrypted in the file, |
1004 |
|
so take care in handling it. Storing encrypted keys on the disk are |
1005 |
|
supported, and Gnus will ask you for a passphrase before invoking |
1006 |
|
OpenSSL. Read the OpenSSL documentation for how to achieve this. If |
1007 |
|
you use unencrypted keys (e.g., if they are on a secure storage, or if |
1008 |
|
you are on a secure single user machine) simply press @code{RET} at |
1009 |
|
the passphrase prompt. |
1010 |
|
|
1011 |
|
@subsection Using PGP/MIME |
1012 |
|
|
1013 |
|
@acronym{PGP/MIME} requires an external OpenPGP implementation, such |
1014 |
|
as @uref{http://www.gnupg.org/, GNU Privacy Guard}. Pre-OpenPGP |
1015 |
|
implementations such as PGP 2.x and PGP 5.x are also supported. One |
1016 |
|
Emacs interface to the PGP implementations, PGG (@pxref{Top, ,PGG, |
1017 |
|
pgg, PGG Manual}), is included, but Mailcrypt and Florian Weimer's |
1018 |
|
@code{gpg.el} are also supported. |
1019 |
|
|
1020 |
|
@vindex gpg-temp-directory |
1021 |
|
Note, if you are using the @code{gpg.el} you must make sure that the |
1022 |
|
directory specified by @code{gpg-temp-directory} have permissions |
1023 |
|
0700. |
1024 |
|
|
1025 |
|
Creating your own key is described in detail in the documentation of |
1026 |
|
your PGP implementation, so we refer to it. |
1027 |
|
|
1028 |
|
If you have imported your old PGP 2.x key into GnuPG, and want to send |
1029 |
|
signed and encrypted messages to your fellow PGP 2.x users, you'll |
1030 |
|
discover that the receiver cannot understand what you send. One |
1031 |
|
solution is to use PGP 2.x instead (i.e., if you use @code{pgg}, set |
1032 |
|
@code{pgg-default-scheme} to @code{pgp}). If you do want to use |
1033 |
|
GnuPG, you can use a compatibility script called @code{gpg-2comp} |
1034 |
|
available from |
1035 |
|
@uref{http://muppet.faveve.uni-stuttgart.de/~gero/gpg-2comp/}. You |
1036 |
|
could also convince your fellow PGP 2.x users to convert to GnuPG. |
1037 |
|
@vindex mml-signencrypt-style-alist |
1038 |
|
As a final workaround, you can make the sign and encryption work in |
1039 |
|
two steps; separately sign, then encrypt a message. If you would like |
1040 |
|
to change this behavior you can customize the |
1041 |
|
@code{mml-signencrypt-style-alist} variable. For example: |
1042 |
|
|
1043 |
|
@lisp |
1044 |
|
(setq mml-signencrypt-style-alist '(("smime" separate) |
1045 |
|
("pgp" separate) |
1046 |
|
("pgpauto" separate) |
1047 |
|
("pgpmime" separate))) |
1048 |
|
@end lisp |
1049 |
|
|
1050 |
|
This causes to sign and encrypt in two passes, thus generating a |
1051 |
|
message that can be understood by PGP version 2. |
1052 |
|
|
1053 |
|
(Refer to @uref{http://www.gnupg.org/gph/en/pgp2x.html} for more |
1054 |
|
information about the problem.) |
1055 |
|
|
1056 |
@node Various Commands |
@node Various Commands |
1057 |
@section Various Commands |
@section Various Commands |
1069 |
@item C-c C-e |
@item C-c C-e |
1070 |
@kindex C-c C-e |
@kindex C-c C-e |
1071 |
@findex message-elide-region |
@findex message-elide-region |
1072 |
|
@vindex message-elide-ellipsis |
1073 |
Elide the text between point and mark (@code{message-elide-region}). |
Elide the text between point and mark (@code{message-elide-region}). |
1074 |
The text is killed and replaced with the contents of the variable |
The text is killed and replaced with the contents of the variable |
1075 |
@code{message-elide-ellipsis}. The default value is to use an ellipsis |
@code{message-elide-ellipsis}. The default value is to use an ellipsis |
1076 |
(@samp{[...]}). |
(@samp{[...]}). |
1077 |
|
|
1078 |
@item C-c C-z |
@item C-c C-z |
1089 |
|
|
1090 |
@item M-RET |
@item M-RET |
1091 |
@kindex M-RET |
@kindex M-RET |
1092 |
@kindex message-newline-and-reformat |
@findex message-newline-and-reformat |
1093 |
Insert four newlines, and then reformat if inside quoted text. |
Insert four newlines, and then reformat if inside quoted text. |
1094 |
|
|
1095 |
Here's an example: |
Here's an example: |
1110 |
|
|
1111 |
@samp{*} says where point will be placed. |
@samp{*} says where point will be placed. |
1112 |
|
|
|
@item C-c C-t |
|
|
@kindex C-c C-t |
|
|
@findex message-insert-to |
|
|
Insert a @code{To} header that contains the @code{Reply-To} or |
|
|
@code{From} header of the message you're following up |
|
|
(@code{message-insert-to}). |
|
|
|
|
|
@item C-c C-n |
|
|
@kindex C-c C-n |
|
|
@findex message-insert-newsgroups |
|
|
Insert a @code{Newsgroups} header that reflects the @code{Followup-To} |
|
|
or @code{Newsgroups} header of the article you're replying to |
|
|
(@code{message-insert-newsgroups}). |
|
|
|
|
1113 |
@item C-c M-r |
@item C-c M-r |
1114 |
@kindex C-c M-r |
@kindex C-c M-r |
1115 |
@findex message-rename-buffer |
@findex message-rename-buffer |
1116 |
Rename the buffer (@code{message-rename-buffer}). If given a prefix, |
Rename the buffer (@code{message-rename-buffer}). If given a prefix, |
1117 |
prompt for a new buffer name. |
prompt for a new buffer name. |
1118 |
|
|
1119 |
|
@item TAB |
1120 |
|
@kindex TAB |
1121 |
|
@findex message-tab |
1122 |
|
@vindex message-tab-body-function |
1123 |
|
If non-@code{nil} execute the function specified in |
1124 |
|
@code{message-tab-body-function}. Otherwise use the function bound to |
1125 |
|
@kbd{TAB} in @code{text-mode-map} or @code{global-map}. |
1126 |
|
|
1127 |
@end table |
@end table |
1128 |
|
|
1129 |
|
|
1206 |
@lisp |
@lisp |
1207 |
(setq ispell-message-dictionary-alist |
(setq ispell-message-dictionary-alist |
1208 |
'(("^Newsgroups:.*\\bde\\." . "deutsch8") |
'(("^Newsgroups:.*\\bde\\." . "deutsch8") |
1209 |
(".*" . "default"))) |
(".*" . "default"))) |
1210 |
@end lisp |
@end lisp |
1211 |
|
|
1212 |
@code{ispell} depends on having the external @samp{ispell} command |
@code{ispell} depends on having the external @samp{ispell} command |
1238 |
* Mail Variables:: Other mail variables. |
* Mail Variables:: Other mail variables. |
1239 |
* News Headers:: Customizing news headers. |
* News Headers:: Customizing news headers. |
1240 |
* News Variables:: Other news variables. |
* News Variables:: Other news variables. |
1241 |
|
* Insertion Variables:: Customizing how things are inserted. |
1242 |
* Various Message Variables:: Other message variables. |
* Various Message Variables:: Other message variables. |
1243 |
* Sending Variables:: Variables for sending. |
* Sending Variables:: Variables for sending. |
1244 |
* Message Buffers:: How Message names its buffers. |
* Message Buffers:: How Message names its buffers. |
1259 |
|
|
1260 |
@item message-generate-headers-first |
@item message-generate-headers-first |
1261 |
@vindex message-generate-headers-first |
@vindex message-generate-headers-first |
1262 |
If non-@code{nil}, generate all required headers before starting to |
If @code{t}, generate all required headers before starting to |
1263 |
compose the message. |
compose the message. This can also be a list of headers to generate: |
1264 |
|
|
1265 |
|
@lisp |
1266 |
|
(setq message-generate-headers-first |
1267 |
|
'(References)) |
1268 |
|
@end lisp |
1269 |
|
|
1270 |
The variables @code{message-required-mail-headers} and |
@vindex message-required-headers |
1271 |
@code{message-required-news-headers} specify which headers are required. |
The variables @code{message-required-headers}, |
1272 |
|
@code{message-required-mail-headers} and |
1273 |
|
@code{message-required-news-headers} specify which headers are |
1274 |
|
required. |
1275 |
|
|
1276 |
|
Note that some headers will be removed and re-generated before posting, |
1277 |
|
because of the variable @code{message-deletable-headers} (see below). |
1278 |
|
|
1279 |
|
@item message-draft-headers |
1280 |
|
@vindex message-draft-headers |
1281 |
|
When running Message from Gnus, the message buffers are associated |
1282 |
|
with a draft group. @code{message-draft-headers} says which headers |
1283 |
|
should be generated when a draft is written to the draft group. |
1284 |
|
|
1285 |
@item message-from-style |
@item message-from-style |
1286 |
@vindex message-from-style |
@vindex message-from-style |
1323 |
|
|
1324 |
@item message-subject-re-regexp |
@item message-subject-re-regexp |
1325 |
@vindex message-subject-re-regexp |
@vindex message-subject-re-regexp |
1326 |
|
@cindex Aw |
1327 |
|
@cindex Sv |
1328 |
|
@cindex Re |
1329 |
Responses to messages have subjects that start with @samp{Re: }. This |
Responses to messages have subjects that start with @samp{Re: }. This |
1330 |
is @emph{not} an abbreviation of the English word ``response'', but is |
is @emph{not} an abbreviation of the English word ``response'', but is |
1331 |
Latin, and means ``in response to''. Some illiterate nincompoops have |
Latin, and means ``in response to''. Some illiterate nincompoops have |
1336 |
set this variable to a regexp that matches these prefixes. Myself, I |
set this variable to a regexp that matches these prefixes. Myself, I |
1337 |
just throw away non-compliant mail. |
just throw away non-compliant mail. |
1338 |
|
|
1339 |
|
Here's an example of a value to deal with these headers when |
1340 |
|
responding to a message: |
1341 |
|
|
1342 |
|
@lisp |
1343 |
|
(setq message-subject-re-regexp |
1344 |
|
(concat |
1345 |
|
"^[ \t]*" |
1346 |
|
"\\(" |
1347 |
|
"\\(" |
1348 |
|
"[Aa][Nn][Tt][Ww]\\.?\\|" ; antw |
1349 |
|
"[Aa][Ww]\\|" ; aw |
1350 |
|
"[Ff][Ww][Dd]?\\|" ; fwd |
1351 |
|
"[Oo][Dd][Pp]\\|" ; odp |
1352 |
|
"[Rr][Ee]\\|" ; re |
1353 |
|
"[Rr][\311\351][Ff]\\.?\\|" ; ref |
1354 |
|
"[Ss][Vv]" ; sv |
1355 |
|
"\\)" |
1356 |
|
"\\(\\[[0-9]*\\]\\)" |
1357 |
|
"*:[ \t]*" |
1358 |
|
"\\)" |
1359 |
|
"*[ \t]*" |
1360 |
|
)) |
1361 |
|
@end lisp |
1362 |
|
|
1363 |
|
@item message-subject-trailing-was-query |
1364 |
|
@vindex message-subject-trailing-was-query |
1365 |
|
@vindex message-subject-trailing-was-ask-regexp |
1366 |
|
@vindex message-subject-trailing-was-regexp |
1367 |
|
Controls what to do with trailing @samp{(was: <old subject>)} in subject |
1368 |
|
lines. If @code{nil}, leave the subject unchanged. If it is the symbol |
1369 |
|
@code{ask}, query the user what do do. In this case, the subject is |
1370 |
|
matched against @code{message-subject-trailing-was-ask-regexp}. If |
1371 |
|
@code{message-subject-trailing-was-query} is t, always strip the |
1372 |
|
trailing old subject. In this case, |
1373 |
|
@code{message-subject-trailing-was-regexp} is used. |
1374 |
|
|
1375 |
@item message-alternative-emails |
@item message-alternative-emails |
1376 |
@vindex message-alternative-emails |
@vindex message-alternative-emails |
1377 |
A regexp to match the alternative email addresses. The first matched |
A regexp to match the alternative email addresses. The first matched |
1378 |
address (not primary one) is used in the @code{From} field. |
address (not primary one) is used in the @code{From} field. |
1379 |
|
|
1380 |
|
@item message-allow-no-recipients |
1381 |
|
@vindex message-allow-no-recipients |
1382 |
|
Specifies what to do when there are no recipients other than |
1383 |
|
@code{Gcc} or @code{Fcc}. If it is @code{always}, the posting is |
1384 |
|
allowed. If it is @code{never}, the posting is not allowed. If it is |
1385 |
|
@code{ask} (the default), you are prompted. |
1386 |
|
|
1387 |
|
@item message-hidden-headers |
1388 |
|
@vindex message-hidden-headers |
1389 |
|
A regexp, a list of regexps, or a list where the first element is |
1390 |
|
@code{not} and the rest are regexps. It says which headers to keep |
1391 |
|
hidden when composing a message. |
1392 |
|
|
1393 |
|
@lisp |
1394 |
|
(setq message-hidden-headers |
1395 |
|
'(not "From" "Subject" "To" "Cc" "Newsgroups")) |
1396 |
|
@end lisp |
1397 |
|
|
1398 |
|
@item message-header-synonyms |
1399 |
|
@vindex message-header-synonyms |
1400 |
|
A list of lists of header synonyms. E.g., if this list contains a |
1401 |
|
member list with elements @code{Cc} and @code{To}, then |
1402 |
|
@code{message-carefully-insert-headers} will not insert a @code{To} |
1403 |
|
header when the message is already @code{Cc}ed to the recipient. |
1404 |
|
|
1405 |
@end table |
@end table |
1406 |
|
|
1407 |
|
|
1418 |
@item message-ignored-mail-headers |
@item message-ignored-mail-headers |
1419 |
@vindex message-ignored-mail-headers |
@vindex message-ignored-mail-headers |
1420 |
Regexp of headers to be removed before mailing. The default is |
Regexp of headers to be removed before mailing. The default is |
1421 |
@samp{^[GF]cc:\|^Resent-Fcc:\|^Xref:}. |
@samp{^[GF]cc:\\|^Resent-Fcc:\\|^Xref:\\|^X-Draft-From:}. |
1422 |
|
|
1423 |
@item message-default-mail-headers |
@item message-default-mail-headers |
1424 |
@vindex message-default-mail-headers |
@vindex message-default-mail-headers |
1434 |
@table @code |
@table @code |
1435 |
@item message-send-mail-function |
@item message-send-mail-function |
1436 |
@vindex message-send-mail-function |
@vindex message-send-mail-function |
1437 |
|
@findex message-send-mail-with-sendmail |
1438 |
|
@findex message-send-mail-with-mh |
1439 |
|
@findex message-send-mail-with-qmail |
1440 |
|
@findex message-smtpmail-send-it |
1441 |
|
@findex smtpmail-send-it |
1442 |
|
@findex feedmail-send-it |
1443 |
Function used to send the current buffer as mail. The default is |
Function used to send the current buffer as mail. The default is |
1444 |
@code{message-send-mail-with-sendmail}. If you prefer using MH |
@code{message-send-mail-with-sendmail}. Other valid values include |
1445 |
instead, set this variable to @code{message-send-mail-with-mh}. |
@code{message-send-mail-with-mh}, @code{message-send-mail-with-qmail}, |
1446 |
|
@code{message-smtpmail-send-it}, @code{smtpmail-send-it} and |
1447 |
|
@code{feedmail-send-it}. |
1448 |
|
|
1449 |
@item message-mh-deletable-headers |
@item message-mh-deletable-headers |
1450 |
@vindex message-mh-deletable-headers |
@vindex message-mh-deletable-headers |
1454 |
messages via MH. Set it to @code{nil} if your MH can handle these |
messages via MH. Set it to @code{nil} if your MH can handle these |
1455 |
headers. |
headers. |
1456 |
|
|
1457 |
|
@item message-qmail-inject-program |
1458 |
|
@vindex message-qmail-inject-program |
1459 |
|
@cindex qmail |
1460 |
|
Location of the qmail-inject program. |
1461 |
|
|
1462 |
|
@item message-qmail-inject-args |
1463 |
|
@vindex message-qmail-inject-args |
1464 |
|
Arguments passed to qmail-inject programs. |
1465 |
|
This should be a list of strings, one string for each argument. It |
1466 |
|
may also be a function. |
1467 |
|
|
1468 |
|
For e.g., if you wish to set the envelope sender address so that bounces |
1469 |
|
go to the right place or to deal with listserv's usage of that address, you |
1470 |
|
might set this variable to @code{'("-f" "you@@some.where")}. |
1471 |
|
|
1472 |
|
@item message-sendmail-f-is-evil |
1473 |
|
@vindex message-sendmail-f-is-evil |
1474 |
|
@cindex sendmail |
1475 |
|
Non-@code{nil} means don't add @samp{-f username} to the sendmail |
1476 |
|
command line. Doing so would be even more evil than leaving it out. |
1477 |
|
|
1478 |
|
@item message-sendmail-envelope-from |
1479 |
|
@vindex message-sendmail-envelope-from |
1480 |
|
When @code{message-sendmail-f-is-evil} is @code{nil}, this specifies |
1481 |
|
the address to use in the @acronym{SMTP} envelope. If it is |
1482 |
|
@code{nil}, use @code{user-mail-address}. If it is the symbol |
1483 |
|
@code{header}, use the @samp{From} header of the message. |
1484 |
|
|
1485 |
|
@item message-mailer-swallows-blank-line |
1486 |
|
@vindex message-mailer-swallows-blank-line |
1487 |
|
Set this to non-@code{nil} if the system's mailer runs the header and |
1488 |
|
body together. (This problem exists on SunOS 4 when sendmail is run |
1489 |
|
in remote mode.) The value should be an expression to test whether |
1490 |
|
the problem will actually occur. |
1491 |
|
|
1492 |
@item message-send-mail-partially-limit |
@item message-send-mail-partially-limit |
1493 |
@vindex message-send-mail-partially-limit |
@vindex message-send-mail-partially-limit |
1494 |
The limit on the size of messages sent as @samp{message/partial}. |
@cindex split large message |
1495 |
This is the minimum message size in characters beyond which the |
The limitation of messages sent as message/partial. The lower bound |
1496 |
message should be sent in several parts. If it is @code{nil}, the |
of message size in characters, beyond which the message should be sent |
1497 |
size is unlimited. |
in several parts. If it is @code{nil}, the size is unlimited. |
1498 |
|
|
1499 |
@end table |
@end table |
1500 |
|
|
1529 |
|
|
1530 |
@item Organization |
@item Organization |
1531 |
@cindex organization |
@cindex organization |
1532 |
|
@vindex message-user-organization |
1533 |
|
@vindex message-user-organization-file |
1534 |
This optional header will be filled out depending on the |
This optional header will be filled out depending on the |
1535 |
@code{message-user-organization} variable. |
@code{message-user-organization} variable. |
1536 |
@code{message-user-organization-file} will be used if this variable is |
@code{message-user-organization-file} will be used if this variable is |
1544 |
|
|
1545 |
@item Message-ID |
@item Message-ID |
1546 |
@cindex Message-ID |
@cindex Message-ID |
1547 |
|
@vindex message-user-fqdn |
1548 |
@vindex mail-host-address |
@vindex mail-host-address |
1549 |
|
@vindex user-mail-address |
1550 |
@findex system-name |
@findex system-name |
1551 |
@cindex Sun |
@cindex Sun |
1552 |
|
@cindex i-did-not-set--mail-host-address--so-tickle-me |
1553 |
This required header will be generated by Message. A unique ID will be |
This required header will be generated by Message. A unique ID will be |
1554 |
created based on the date, time, user name and system name. Message |
created based on the date, time, user name and system name. For the |
1555 |
will use @code{system-name} to determine the name of the system. If |
domain part, message will look (in this order) at |
1556 |
this isn't a fully qualified domain name (FQDN), Message will use |
@code{message-user-fqdn}, @code{system-name}, @code{mail-host-address} |
1557 |
@code{mail-host-address} as the FQDN of the machine. |
and @code{message-user-mail-address} (i.e. @code{user-mail-address}) |
1558 |
|
until a probably valid fully qualified domain name (FQDN) was found. |
1559 |
|
|
1560 |
@item User-Agent |
@item User-Agent |
1561 |
@cindex User-Agent |
@cindex User-Agent |
1568 |
|
|
1569 |
@item Expires |
@item Expires |
1570 |
@cindex Expires |
@cindex Expires |
1571 |
|
@vindex message-expires |
1572 |
This extremely optional header will be inserted according to the |
This extremely optional header will be inserted according to the |
1573 |
@code{message-expires} variable. It is highly deprecated and shouldn't |
@code{message-expires} variable. It is highly deprecated and shouldn't |
1574 |
be used unless you know what you're doing. |
be used unless you know what you're doing. |
1575 |
|
|
1576 |
@item Distribution |
@item Distribution |
1577 |
@cindex Distribution |
@cindex Distribution |
1578 |
|
@vindex message-distribution-function |
1579 |
This optional header is filled out according to the |
This optional header is filled out according to the |
1580 |
@code{message-distribution-function} variable. It is a deprecated and |
@code{message-distribution-function} variable. It is a deprecated and |
1581 |
much misunderstood header. |
much misunderstood header. |
1582 |
|
|
1583 |
@item Path |
@item Path |
1584 |
@cindex path |
@cindex path |
1585 |
|
@vindex message-user-path |
1586 |
This extremely optional header should probably never be used. |
This extremely optional header should probably never be used. |
1587 |
However, some @emph{very} old servers require that this header is |
However, some @emph{very} old servers require that this header is |
1588 |
present. @code{message-user-path} further controls how this |
present. @code{message-user-path} further controls how this |
1594 |
|
|
1595 |
@findex yow |
@findex yow |
1596 |
@cindex Mime-Version |
@cindex Mime-Version |
1597 |
In addition, you can enter conses into this list. The car of this cons |
In addition, you can enter conses into this list. The @sc{car} of this cons |
1598 |
should be a symbol. This symbol's name is the name of the header, and |
should be a symbol. This symbol's name is the name of the header, and |
1599 |
the cdr can either be a string to be entered verbatim as the value of |
the @sc{cdr} can either be a string to be entered verbatim as the value of |
1600 |
this header, or it can be a function to be called. This function should |
this header, or it can be a function to be called. This function should |
1601 |
return a string to be inserted. For instance, if you want to insert |
return a string to be inserted. For instance, if you want to insert |
1602 |
@code{Mime-Version: 1.0}, you should enter @code{(Mime-Version . "1.0")} |
@code{Mime-Version: 1.0}, you should enter @code{(Mime-Version . "1.0")} |
1604 |
something like @code{(X-Yow . yow)} into the list. The function |
something like @code{(X-Yow . yow)} into the list. The function |
1605 |
@code{yow} will then be called without any arguments. |
@code{yow} will then be called without any arguments. |
1606 |
|
|
1607 |
If the list contains a cons where the car of the cons is |
If the list contains a cons where the @sc{car} of the cons is |
1608 |
@code{optional}, the cdr of this cons will only be inserted if it is |
@code{optional}, the @sc{cdr} of this cons will only be inserted if it is |
1609 |
non-@code{nil}. |
non-@code{nil}. |
1610 |
|
|
1611 |
|
If you want to delete an entry from this list, the following Lisp |
1612 |
|
snippet might be useful. Adjust accordingly if you want to remove |
1613 |
|
another element. |
1614 |
|
|
1615 |
|
@lisp |
1616 |
|
(setq message-required-news-headers |
1617 |
|
(delq 'Message-ID message-required-news-headers)) |
1618 |
|
@end lisp |
1619 |
|
|
1620 |
Other variables for customizing outgoing news articles: |
Other variables for customizing outgoing news articles: |
1621 |
|
|
1622 |
@table @code |
@table @code |
1689 |
@item message-ignored-news-headers |
@item message-ignored-news-headers |
1690 |
@vindex message-ignored-news-headers |
@vindex message-ignored-news-headers |
1691 |
Regexp of headers to be removed before posting. The default is@* |
Regexp of headers to be removed before posting. The default is@* |
1692 |
@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:}. |
@samp{^NNTP-Posting-Host:\\|^Xref:\\|^[BGF]cc:\\|^Resent-Fcc:\\|^X-Draft-From:}. |
1693 |
|
|
1694 |
@item message-default-news-headers |
@item message-default-news-headers |
1695 |
@vindex message-default-news-headers |
@vindex message-default-news-headers |
1716 |
@end table |
@end table |
1717 |
|
|
1718 |
|
|
1719 |
|
@node Insertion Variables |
1720 |
|
@section Insertion Variables |
1721 |
|
|
1722 |
|
@table @code |
1723 |
|
@item message-ignored-cited-headers |
1724 |
|
@vindex message-ignored-cited-headers |
1725 |
|
All headers that match this regexp will be removed from yanked |
1726 |
|
messages. The default is @samp{.}, which means that all headers will be |
1727 |
|
removed. |
1728 |
|
|
1729 |
|
@item message-cite-prefix-regexp |
1730 |
|
@vindex message-cite-prefix-regexp |
1731 |
|
Regexp matching the longest possible citation prefix on a line. |
1732 |
|
|
1733 |
|
@item message-citation-line-function |
1734 |
|
@vindex message-citation-line-function |
1735 |
|
@cindex attribution line |
1736 |
|
Function called to insert the citation line. The default is |
1737 |
|
@code{message-insert-citation-line}, which will lead to citation lines |
1738 |
|
that look like: |
1739 |
|
|
1740 |
|
@example |
1741 |
|
Hallvard B Furuseth <h.b.furuseth@@usit.uio.no> writes: |
1742 |
|
@end example |
1743 |
|
|
1744 |
|
Point will be at the beginning of the body of the message when this |
1745 |
|
function is called. |
1746 |
|
|
1747 |
|
Note that Gnus provides a feature where clicking on `writes:' hides the |
1748 |
|
cited text. If you change the citation line too much, readers of your |
1749 |
|
messages will have to adjust their Gnus, too. See the variable |
1750 |
|
@code{gnus-cite-attribution-suffix}. @xref{Article Highlighting, , |
1751 |
|
Article Highlighting, gnus, The Gnus Manual}, for details. |
1752 |
|
|
1753 |
|
@item message-yank-prefix |
1754 |
|
@vindex message-yank-prefix |
1755 |
|
@cindex yanking |
1756 |
|
@cindex quoting |
1757 |
|
When you are replying to or following up an article, you normally want |
1758 |
|
to quote the person you are answering. Inserting quoted text is done |
1759 |
|
by @dfn{yanking}, and each line you yank will have |
1760 |
|
@code{message-yank-prefix} prepended to it (except for quoted and |
1761 |
|
empty lines which uses @code{message-yank-cited-prefix}). The default |
1762 |
|
is @samp{> }. |
1763 |
|
|
1764 |
|
@item message-yank-cited-prefix |
1765 |
|
@vindex message-yank-cited-prefix |
1766 |
|
@cindex yanking |
1767 |
|
@cindex cited |
1768 |
|
@cindex quoting |
1769 |
|
When yanking text from an article which contains no text or already |
1770 |
|
cited text, each line will be prefixed with the contents of this |
1771 |
|
variable. The default is @samp{>}. See also |
1772 |
|
@code{message-yank-prefix}. |
1773 |
|
|
1774 |
|
@item message-indentation-spaces |
1775 |
|
@vindex message-indentation-spaces |
1776 |
|
Number of spaces to indent yanked messages. |
1777 |
|
|
1778 |
|
@item message-cite-function |
1779 |
|
@vindex message-cite-function |
1780 |
|
@findex message-cite-original |
1781 |
|
@findex sc-cite-original |
1782 |
|
@findex message-cite-original-without-signature |
1783 |
|
@cindex Supercite |
1784 |
|
Function for citing an original message. The default is |
1785 |
|
@code{message-cite-original}, which simply inserts the original message |
1786 |
|
and prepends @samp{> } to each line. |
1787 |
|
@code{message-cite-original-without-signature} does the same, but elides |
1788 |
|
the signature. You can also set it to @code{sc-cite-original} to use |
1789 |
|
Supercite. |
1790 |
|
|
1791 |
|
@item message-indent-citation-function |
1792 |
|
@vindex message-indent-citation-function |
1793 |
|
Function for modifying a citation just inserted in the mail buffer. |
1794 |
|
This can also be a list of functions. Each function can find the |
1795 |
|
citation between @code{(point)} and @code{(mark t)}. And each function |
1796 |
|
should leave point and mark around the citation text as modified. |
1797 |
|
|
1798 |
|
@item message-mark-insert-begin |
1799 |
|
@vindex message-mark-insert-begin |
1800 |
|
String to mark the beginning of some inserted text. |
1801 |
|
|
1802 |
|
@item message-mark-insert-end |
1803 |
|
@vindex message-mark-insert-end |
1804 |
|
String to mark the end of some inserted text. |
1805 |
|
|
1806 |
|
@item message-signature |
1807 |
|
@vindex message-signature |
1808 |
|
String to be inserted at the end of the message buffer. If @code{t} |
1809 |
|
(which is the default), the @code{message-signature-file} file will be |
1810 |
|
inserted instead. If a function, the result from the function will be |
1811 |
|
used instead. If a form, the result from the form will be used instead. |
1812 |
|
If this variable is @code{nil}, no signature will be inserted at all. |
1813 |
|
|
1814 |
|
@item message-signature-file |
1815 |
|
@vindex message-signature-file |
1816 |
|
File containing the signature to be inserted at the end of the buffer. |
1817 |
|
The default is @file{~/.signature}. |
1818 |
|
|
1819 |
|
@item message-signature-insert-empty-line |
1820 |
|
@vindex message-signature-insert-empty-line |
1821 |
|
If @code{t} (the default value) an empty line is inserted before the |
1822 |
|
signature separator. |
1823 |
|
|
1824 |
|
@end table |
1825 |
|
|
1826 |
|
Note that RFC1036bis says that a signature should be preceded by the three |
1827 |
|
characters @samp{-- } on a line by themselves. This is to make it |
1828 |
|
easier for the recipient to automatically recognize and process the |
1829 |
|
signature. So don't remove those characters, even though you might feel |
1830 |
|
that they ruin your beautiful design, like, totally. |
1831 |
|
|
1832 |
|
Also note that no signature should be more than four lines long. |
1833 |
|
Including @acronym{ASCII} graphics is an efficient way to get |
1834 |
|
everybody to believe that you are silly and have nothing important to |
1835 |
|
say. |
1836 |
|
|
1837 |
|
|
1838 |
@node Various Message Variables |
@node Various Message Variables |
1839 |
@section Various Message Variables |
@section Various Message Variables |
1840 |
|
|
1842 |
@item message-default-charset |
@item message-default-charset |
1843 |
@vindex message-default-charset |
@vindex message-default-charset |
1844 |
@cindex charset |
@cindex charset |
1845 |
Symbol naming a @sc{mime} charset. Non-ASCII characters in messages are |
Symbol naming a @acronym{MIME} charset. Non-@acronym{ASCII} |
1846 |
assumed to be encoded using this charset. The default is @code{nil}, |
characters in messages are assumed to be encoded using this charset. |
1847 |
which means ask the user. (This variable is used only on non-@sc{mule} |
The default is @code{nil}, which means ask the user. (This variable |
1848 |
Emacsen. |
is used only on non-@sc{mule} Emacsen. @xref{Charset Translation, , |
1849 |
@xref{Charset Translation, , Charset Translation, emacs-mime, |
Charset Translation, emacs-mime, Emacs MIME Manual}, for details on |
1850 |
Emacs MIME Manual}, for details on the @sc{mule}-to-@sc{mime} |
the @sc{mule}-to-@acronym{MIME} translation process. |
|
translation process. |
|
1851 |
|
|
1852 |
@item message-signature-separator |
@item message-signature-separator |
1853 |
@vindex message-signature-separator |
@vindex message-signature-separator |
1863 |
@vindex message-directory |
@vindex message-directory |
1864 |
Directory used by many mailey things. The default is @file{~/Mail/}. |
Directory used by many mailey things. The default is @file{~/Mail/}. |
1865 |
|
|
1866 |
|
@item message-auto-save-directory |
1867 |
|
@vindex message-auto-save-directory |
1868 |
|
Directory where Message auto-saves buffers if Gnus isn't running. If |
1869 |
|
@code{nil}, Message won't auto-save. The default is @file{~/Mail/drafts/}. |
1870 |
|
|
1871 |
@item message-signature-setup-hook |
@item message-signature-setup-hook |
1872 |
@vindex message-signature-setup-hook |
@vindex message-signature-setup-hook |
1873 |
Hook run when initializing the message buffer. It is run after the |
Hook run when initializing the message buffer. It is run after the |
1917 |
|
|
1918 |
@item message-send-mail-hook |
@item message-send-mail-hook |
1919 |
@vindex message-send-mail-hook |
@vindex message-send-mail-hook |
1920 |
Hook run before sending mail messages. |
Hook run before sending mail messages. This hook is run very late -- |
1921 |
|
just before the message is actually sent as mail. |
1922 |
|
|
1923 |
@item message-send-news-hook |
@item message-send-news-hook |
1924 |
@vindex message-send-news-hook |
@vindex message-send-news-hook |
1925 |
Hook run before sending news messages. |
Hook run before sending news messages. This hook is run very late -- |
1926 |
|
just before the message is actually sent as news. |
1927 |
|
|
1928 |
@item message-sent-hook |
@item message-sent-hook |
1929 |
@vindex message-sent-hook |
@vindex message-sent-hook |
1930 |
Hook run after sending messages. |
Hook run after sending messages. |
1931 |
|
|
1932 |
|
@item message-cancel-hook |
1933 |
|
@vindex message-cancel-hook |
1934 |
|
Hook run when canceling news articles. |
1935 |
|
|
1936 |
@item message-mode-syntax-table |
@item message-mode-syntax-table |
1937 |
@vindex message-mode-syntax-table |
@vindex message-mode-syntax-table |
1938 |
Syntax table used in message mode buffers. |
Syntax table used in message mode buffers. |
1939 |
|
|
1940 |
|
@item message-strip-special-text-properties |
1941 |
|
@vindex message-strip-special-text-properties |
1942 |
|
Emacs has a number of special text properties which can break message |
1943 |
|
composing in various ways. If this option is set, message will strip |
1944 |
|
these properties from the message composition buffer. However, some |
1945 |
|
packages requires these properties to be present in order to work. If |
1946 |
|
you use one of these packages, turn this option off, and hope the |
1947 |
|
message composition doesn't break too bad. |
1948 |
|
|
1949 |
@item message-send-method-alist |
@item message-send-method-alist |
1950 |
@vindex message-send-method-alist |
@vindex message-send-method-alist |
1951 |
|
|
1952 |
Alist of ways to send outgoing messages. Each element has the form |
Alist of ways to send outgoing messages. Each element has the form |
1953 |
|
|
1954 |
@lisp |
@lisp |
1955 |
(TYPE PREDICATE FUNCTION) |
(@var{type} @var{predicate} @var{function}) |
1956 |
@end lisp |
@end lisp |
1957 |
|
|
1958 |
@table @var |
@table @var |
1988 |
@vindex message-fcc-handler-function |
@vindex message-fcc-handler-function |
1989 |
A function called to save outgoing articles. This function will be |
A function called to save outgoing articles. This function will be |
1990 |
called with the name of the file to store the article in. The default |
called with the name of the file to store the article in. The default |
1991 |
function is @code{message-output} which saves in inbox format. |
function is @code{message-output} which saves in Unix mailbox format. |
1992 |
|
|
1993 |
@item message-courtesy-message |
@item message-courtesy-message |
1994 |
@vindex message-courtesy-message |
@vindex message-courtesy-message |
1997 |
newsgroups the article has been posted to will be inserted there. If |
newsgroups the article has been posted to will be inserted there. If |
1998 |
this variable is @code{nil}, no such courtesy message will be added. |
this variable is @code{nil}, no such courtesy message will be added. |
1999 |
The default value is @samp{"The following message is a courtesy copy of |
The default value is @samp{"The following message is a courtesy copy of |
2000 |
an article\nthat has been posted to %s as well.\n\n"}. |
an article\\nthat has been posted to %s as well.\\n\\n"}. |
2001 |
|
|
2002 |
|
@item message-fcc-externalize-attachments |
2003 |
|
@vindex message-fcc-externalize-attachments |
2004 |
|
If @code{nil}, attach files as normal parts in Fcc copies; if it is |
2005 |
|
non-@code{nil}, attach local files as external parts. |
2006 |
|
|
2007 |
|
@item message-interactive |
2008 |
|
@vindex message-interactive |
2009 |
|
If non-@code{nil} wait for and display errors when sending a message; |
2010 |
|
if @code{nil} let the mailer mail back a message to report errors. |
2011 |
|
|
2012 |
@end table |
@end table |
2013 |
|
|
2090 |
killed, postponed or exited. |
killed, postponed or exited. |
2091 |
|
|
2092 |
An @dfn{action} can be either: a normal function, or a list where the |
An @dfn{action} can be either: a normal function, or a list where the |
2093 |
@code{car} is a function and the @code{cdr} is the list of arguments, or |
@sc{car} is a function and the @sc{cdr} is the list of arguments, or |
2094 |
a form to be @code{eval}ed. |
a form to be @code{eval}ed. |
2095 |
|
|
2096 |
|
|
2100 |
|
|
2101 |
Message uses virtually only its own variables---older @code{mail-} |
Message uses virtually only its own variables---older @code{mail-} |
2102 |
variables aren't consulted. To force Message to take those variables |
variables aren't consulted. To force Message to take those variables |
2103 |
into account, you can put the following in your @code{.emacs} file: |
into account, you can put the following in your @file{.emacs} file: |
2104 |
|
|
2105 |
@lisp |
@lisp |
2106 |
(require 'messcompat) |
(require 'messcompat) |