X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=emacs-mime-ja.texi;h=4a40e0880f9a982d51e6690e3ccb6a7efcf3b36e;hb=cc43a88ed3fc852071c2de359bae8a49ceff13aa;hp=e5089e117dc63d01372c47c7fe314562c10ccbe1;hpb=c0aa69d99a0c539bf55fdd667393bb2c0ca62ab5;p=elisp%2Fgnus-doc-ja.git diff --git a/emacs-mime-ja.texi b/emacs-mime-ja.texi index e5089e1..4a40e08 100644 --- a/emacs-mime-ja.texi +++ b/emacs-mime-ja.texi @@ -1,57 +1,53 @@ \input texinfo +@include gnus-overrides-ja.texi + @setfilename emacs-mime-ja @settitle Emacs MIME Manual @synindex fn cp @synindex vr cp @synindex pg cp +@iftex +@firstparagraphindent insert +@end iftex @copying $B$3$N%U%!%$%k$O(B Emacs MIME $B%$%s%?!<%U%'!<%9$N5!G=$rJ8=q2=$7$?$b$N$G$9!#(B -Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 - Free Software Foundation, Inc. +Copyright @copyright{} 1998-2011 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or +under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no -Invariant Sections, with the Front-Cover texts being ``A GNU -Manual'', and with the Back-Cover Texts as in (a) below. A copy of the -license is included in the section entitled ``GNU Free Documentation -License'' in the Emacs manual. +Invariant Sections, with the Front-Cover texts being ``A GNU Manual'', +and with the Back-Cover Texts as in (a) below. A copy of the license +is included in the section entitled ``GNU Free Documentation License''. $B$3$NJ8=q$r!"%U%j!<%=%U%H%&%'%":bCDH/9T$N(B GNU $B%U%j!r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9(B -$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,$O;XDj$7$^$;$s!#!V(BA GNU Manual$B!W$OI=I=;f(B +$BBh(B 1.3 $BHG$^$?$O$=$l0J9_$NHG$,Dj$a$k>r7o$N2<$GJ#@=!"G[I[!"$"$k$$$OJQ99$9(B +$B$k$3$H$r5v2D$7$^$9!#JQ99IT2DItJ,$O;XDj$7$^$;$s!#!H(BA GNU Manual$B!I$OI=I=;f(B $B%F%-%9%H!"0J2<$N(B (a) $B$ON"I=;f%F%-%9%H$G$9!#$3$NMxMQ5vBz7@Ls=q$NJ#O$K4^$^$l$F$$$^(B -$B$9!#(B +$B!V(BGNU $B%U%j!O$K4^$^$l$F$$$^$9!#(B -(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify -this GNU Manual, like GNU software. Copies published by the Free -Software Foundation raise funds for GNU development.'' +(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and +modify this GNU manual. Buying copies from the FSF supports it in +developing GNU and promoting software freedom.'' -(a) FSF $B$NN"I=;f%F%-%9%H(B:$B!V$"$J$?$K$O$3$N(B GNU Manual $B$r(B GNU $B%=%U%H%&%'%"(B -$B$N$h$&$KJ#@=$7$?$jJQ99$9$k<+M3$,$"$j$^$9!#J#@=$O%U%j!<%=%U%H%&%'%":bCD$K(B -$B$h$C$F=PHG$5$l$^$7$?!#(B($B%U%j!<%=%U%H%&%'%":bCD$O(B) GNU $B$N3+H/$N$?$a$KI,MW(B -$B$J;q6b$r=8$a$F$$$^$9!#!W(B - -This document is part of a collection distributed under the GNU Free -Documentation License. If you want to distribute this document -separately from the collection, you can do so by adding a copy of the -license to the document, as described in section 6 of the license. - -$B$3$NJ8=q$O!V(BGNU $B%U%j!\:Y$JIA$`%f!<%6!"$*$h$S(B @acronym{MIME} $B$NMWAG$rA`:n$9$k(B -$B4X?t$*$h$S%3%^%s%I$r=q$-$?$$?M$?$A$rBP>]$K$7$F$$$^$9!#(B +$B$3$N%^%K%e%"%k$O(B @acronym{MIME} $B$N%(%s%3!<%I(B/$B%G%3!<%I=hM}$N?6$kIq$$$rJQ(B +$B99$7$?$$MxMQ\$7$/CN$j$?$$MxMQ]$K$7$F$$$^$9!#(B @acronym{MIME} $B$O(B @dfn{Multipurpose Internet Mail Extensions} $B$N>JN,I=5-(B $B$G$9!#$3$NI8=`$OB??t$N(B RFC $B$KJ8=q2=$5$l$F$$$F!"/$J$/$H(B +RFC2045 ($B%$%s%?!<%M%C%H!&%a%C%;!<%8$NK\J8$N=q<0(B), RFC2046 ($B%a%G%#%"%?%$(B +$B%W(B), RFC2047 ($BHs(B-@acronym{ASCII} $B%F%-%9%H$N$?$a$N%a%C%;!<%8%X%C%@!<$N3H(B +$BD%(B), RFC2048 ($BEPO?/$J$/$H(B $B$b(B RFC2045 $B$H(B RFC2047 $B$OFI$s$G$*$/$3$H$r6/$/4+$a$^$9!#(B +@ifnottex +@insertcopying +@end ifnottex + @menu * Decoding and Viewing:: $B%G%3!<%I$HI=<($N$?$a$NOHAH$_(B * Composing:: @acronym{MML}; @acronym{MIME} $B%Q!<%H5-=RMQ8@8l(B -* Interface Functions:: $B4pK\E*$J4X?t$K4X$9$kCj>]35G0(B +* Interface Functions:: $B4pK\E*$J4X?t$NCj>]2=(B * Basic Functions:: $B%f!<%F%#%j%F%#!<$*$h$S4pK\E*$J2r@O$N$?$a$N4X?t(B * Standards:: $B;H$o$l$F$$$k(B RFC $B$H:n6HJ8=q$N35N,(B +* GNU Free Documentation License:: $B$3$NJ8=q$NMxMQ5vBz7@Ls=q(B * Index:: $B4X?t$*$h$SJQ?t$N:w0z(B @end menu @@ -101,16 +109,16 @@ RFC2048 ($BEPO?O$O!">e0L3,AX$G$N(B @acronym{MIME} $B%a%C%;!<%8$N%G%3!<%I$HI=<($r07$$$^(B $B$9!#(B -$B$=$N$N%W%m%0%i%`$,J*;v$r9T(B -$B$J$&$3$H$r2DG=$K$9$k$3$H$G$9!#(B +$B$=$N$N%W%m%0%i%`$,=hM}$r9T(B +$B$J$&$3$H$,$G$-$k$h$&$K$9$k$3$H$G$9!#(B @menu * Dissection:: @acronym{MIME} $B%a%C%;!<%8$N2r@O(B * Non-MIME:: $BHs(B-@acronym{MIME} $B%a%C%;!<%8$N2r@O(B * Handles:: $B%O%s%I%k$N(B * New Viewers:: $B<+J,MQ%S%e!<%o!<$N=q$-J}(B @end menu @@ -119,18 +127,18 @@ RFC2048 ($BEPO?$C$F!"$=$N%a%C%;!<%8$N9=B$$rIA$l$N5!G=$O(B @code{mm-uu-configure-list} $B$K9`(B -$BL\$rDI2C$9$k$3$H$K$h$C$F!"L58z$K$9$k$3$H$,$G$-$^$9!#Nc$G$9!#(B +Gnus $B$O$$$/$D$+$N(B @acronym{MIME} $B$G$O$J$$E:IU%U%!%$%k$bM}2r$7$^$9!#$=$l(B +$B$i$O(B postscript, uuencode, binhex, yenc, shar, forward, gnatsweb, pgp, +diff $B$N$h$&$J$b$N$G$9!#$=$l$>$l$N5!G=$O!"(B@code{mm-uu-configure-list} $B$K(B +$B9`L\$rDI2C$9$k$3$H$K$h$C$FL58z$K$9$k$3$H$,$G$-$^$9!#Nc$G$9!#(B @lisp (require 'mm-uu) @@ -156,11 +164,11 @@ Yenc $B$G%(%s%3!<%I$5$l$?%U%!%$%k!#(B @item shar @findex shar -Shar $B=q8K%U%!%$%k!#(B +Shar $B$G:n$i$l$?%"!<%+%$%V!&%U%!%$%k!#(B @item forward @findex forward -$BHs(B-@acronym{MIME} $B$GE>Aw$5$l$?%a%C%;!<%8!#(B +@acronym{MIME} $B$r;H$o$:$KE>Aw$5$l$?%a%C%;!<%8!#(B @item gnatsweb @findex gnatsweb @@ -168,11 +176,11 @@ Gnatsweb $B$NE:IU%U%!%$%k!#(B @item pgp-signed @findex pgp-signed -@acronym{PGP} $B$G=pL>$5$l$?J?J8(B (clear text)$B!#(B +@acronym{PGP} $B$G=pL>$5$l$?J?J8(B (clear text, $B$R$i$V$s(B)$B!#(B @item pgp-encrypted @findex pgp-encrypted -@acronym{PGP} $B$G0E9f2=$5$l$?J?J8(B (clear text)$B!#(B +@acronym{PGP} $B$G0E9f2=$5$l$?J?J8(B (clear text, $B$R$i$V$s(B)$B!#(B @item pgp-key @findex pgp-key @@ -190,12 +198,39 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g $B%Q%C%A!#$3$l$O!"%3%_%C%H$5$l$?%U%!%$%k$N:9J,$,<+F0E*$KAw$i$l$k%0%k!<%W$r(B $BBP>]$K$7$?$b$N$G$9!#(B@code{mm-uu-diff-groups-regexp} $B$K9gCW$9$k%0%k!<%W$G(B $B$N$_F0:n$7$^$9!#(B + +@item verbatim-marks +@cindex verbatim-marks +Slrn $B$U$&$N(B verbatim ($BJ8>O$r0l8@0l6g$=$N$^$^I=$9(B) $B5-9f$NBP!#(B + +($BLuCm(B: @samp{#v+} $B$H(B @samp{#v-} $B$NFs9T$G0O$^$l$?%F%-%9%H(B +$B$r(B @acronym{MIME} $B%Q!<%H$K8+N)$F$^$9!#(B) + +@item LaTeX +@cindex LaTeX +LaTeX $B$NJ88%!#(B@code{mm-uu-tex-groups-regexp} $B$K9gCW$9$kL>A0$N%0%k!<%W$G(B +$B$N$_F0:n$7$^$9!#(B @end table +@cindex text/x-verbatim +@c @vindex $B$O(B face $B$N$?$a$KE,@Z$+(B? +@vindex mm-uu-extract +$B$$$/$D$+$N(B @acronym{MIME} $B$G$O$J$$E:IU$O(B @code{mm-uu-extract} $B$H$$$&%U%'!<(B +$B%9$r;H$C$FI=<($5$l$^$9!#%G%#%U%)%k%H$G$O$=$l$i$N%Q!<%H(B +$B$K(B @acronym{MIME} $B%\%?%s$,IU$-$^$;$s!#(B@kbd{K b} +(@code{gnus-summary-display-buttonized}) $B$r;H$&(B +$B$+(B @code{gnus-buttonized-mime-types} $B$K(B @code{text/x-verbatim} $B$r2C$($k(B +$B$3$H$K$h$C$F!"%\%?%s$NI=<($r6/@)$9$k$3$H$,$G$-$^$9!#(B@xref{MIME Commands, +,MIME $B%3%^%s%I(B, gnus-ja, The Gnus Manual}. + +($BLuCm(B: $B$3$3$GEbFM$K(B @code{text/x-verbatim} $B$N$3$H$,=P$F$/$k$N$O!"%U%'!<(B +$B%9$,;H$o$l$F%\%?%s$,IU$+$J$$BeI=E*$J%Q!<%H$,(B @code{verbatim-marks} $B$@$+(B +$B$i$G$9!#(B) + @node Handles @section $B%O%s%I%k(B -@acronym{MIME} $B%O%s%I%k$O!"(B@acronym{MIME} $B$N9=@.MWAG$r40A4$K5-=R$9$k%j%9(B +@acronym{MIME} $B%O%s%I%k$O!"(B@acronym{MIME} $B$N9=@.MWAG$r40A4$KIAH$5$l$k%O%s%I%k(B ($BC1?t$^$?$OJ#?t(B) $B$rJV$7$^$9!#(B @@ -234,7 +270,7 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g @node Display @section $BI=<((B -$BI=<($7!">C5n$7!"J]B8$9$k$?$a$N4X?t!#(B +$BI=<($7!">C5n$7!"J]B8$9$k$?$a$N4X?t$G$9!#(B @table @code @item mm-display-part @@ -256,7 +292,7 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g @item mm-destroy-part @findex mm-destroy-part $B%Q!<%H$K$h$C$F;H$o$l$F$$$k$9$Y$F$N;q8;$r3+J|$7$^$9(B ($BLuCm(B: $B%Q!<%H$NI=<(!"(B -$B$*$h$S%Q!<%H$r2rBN$7$FF@$?8D!9$NItIJ$r0l;~E*$KJ];}$7$F$$$k%P%C%U%!$d%U%!(B +$B$*$h$S%Q!<%H$r2rBN$7$FF@$?8D!9$NItIJ$r0l;~E*$KJ];}$7$F$$$k%P%C%U%!!<$d%U%!(B $B%$%k$r>C5n$7$^$9(B)$B!#(B @item mm-save-part @@ -265,11 +301,12 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g @item mm-pipe-part @findex mm-pipe-part -$B%Q!<%H$r$"$k%W%m%;%9$K%Q%$%W$7$^$9!#(B +$B%Q!<%H$r2?$+$N%W%m%;%9$K%Q%$%W$7$^$9!#(B @item mm-interactively-view-part @findex mm-interactively-view-part -$B%Q!<%H$rI=<($9$k$?$a$K;H$&(B mailcap $B$N2A(B (@code{eval}) $B$5$l$k%U%)!<%`$G$9!#(B +$B%Q!<%H$r!V%$%s%i%$%s!W$G(B ($B$9$J$o$A(B Emacs $B$N2hLL$KKd$a9~$s$G(B) $BI=<($9$k$?(B +$B$a$N4X?t!"$=$7$FBh;0MWAG$O$=$N%Q!<%H$,%$%s%i%$%s$GI=<($9$k$3$H$,2DG=$+$I(B +$B$&$+$rD4$Y$k$?$a$K(B @code{eval} ($BI>2A(B) $B$5$l$k<0$G$9!#(B $B$3$NJQ?t$O!"$"$k%Q!<%H$,%$%s%i%$%sI=<(2DG=$+$I$&$+$H!"$b$72DG=$J$i$=$N$d(B $B$jJ}$r;XDj$7$^$9!#%Q!<%H$,8=e5-$NJQ?t$K$h$C$F@_Dj$5$l$?>r7o$rK~B-$9$k!"%$%s%i%$%sI=<(2D(B -$BG=$J%?%$%W$r<($7$^$9!#$3$l$O(B @acronym{MIME} $B%a%G%#%"%?%$%W$N%j%9%H$G$9!#(B -($BLuCm(B: $B$=$l$>$l$NMWAG$O@55,I=8=$G$9!#(B) +$B0lJ}$3$l$O!">e5-$NJQ?t$K$h$C$F@_Dj$5$l$?>r7o$rK~B-$7$?>l9g$K!"%$%s%i%$%s(B +$BI=<($r9T$J$&%?%$%W$r<($7$^$9!#$3$l$O(B @acronym{MIME} $B%a%G%#%"%?%$%W$N%j%9(B +$B%H$G$9!#(B($BLuCm(B: $B$=$l$>$l$NMWAG$O@55,I=8=$G$9!#(B) @item mm-automatic-display @vindex mm-automatic-display -$B$3$l$O>e5-$NJQ?t$,G'$a$k%?%$%W$N$&$A$G!"!V<+F0E*!W$KI=<($5$l$k%?%$%W$N%j(B -$B%9%H$G$9!#$D$^$j!"%$%s%i%$%sI=<($,2DG=$J%Q!<%H$@$1$,<+F0E*$KI=<($5$l$^$9!#(B +$B$3$l$O>e5-$NJQ?t$,G'$a$k%?%$%W$K8B$C$F!V<+F0E*!W$KI=<($5$l$k%?%$%W$N%j%9(B +$B%H$G$9!#$D$^$j!"%$%s%i%$%sI=<($,2DG=$J%Q!<%H$@$1$,<+F0E*$KI=<($5$l$^$9!#(B @item mm-automatic-external-display @vindex mm-automatic-external-display @@ -304,8 +341,8 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g @item mm-keep-viewer-alive-types @vindex mm-keep-viewer-alive-types -$B$3$l$O!"JL$N5-;v$rA*Br$7$F$b!"30It%S%e!<%o!<$,(B kill $B$5$l$J$$%a%G%#%"%?%$(B -$B%W$N%j%9%H$G$9!#(B +$B$3$l$O!"JL$N5-;v$rA*Br$7$F$b30It%S%e!<%o!<$,(B kill $B$5$l$J$$%a%G%#%"%?%$%W(B +$B$N%j%9%H$G$9!#(B $BLuCm(B: postscript $B$d(B dvi $B$J$I(B ($BJQ?t$N%G%#%U%)%k%HCM$r;2>H$N$3$H(B) $B$N$h$&$K!"(B $BFI$`$N$K;~4V$,$+$+$k$+$b$7$l$J$$%Q!<%H$N%?%$%W$r4^$`%j%9%H$G$9!#0lJ}!"$3(B @@ -314,22 +351,23 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g @item mm-attachment-override-types @vindex mm-attachment-override-types -$B$$$/$D$+$N(B @acronym{MIME} $B%(!<%8%'%s%H$O!"G[CV;X(B -$BDj(B (content-disposition) $B$H$7$F(B @samp{$BE:IU(B} (@samp{attachment}) $B%U%!%$%k(B -$B$G$"$k$3$H$r@_Dj$7$?%Q!<%H$r@8@.$7$^$9!#$3$NJQ?t$O$=$s$JG[CV;XDj$r>e=q$-(B -$B$7$F!"$=$N%Q!<%H$r%$%s%i%$%sI=<($9$k$3$H$r5v$7$^$9!#(B($B$=$N%Q!<%H$N%$%s%i(B -$B%$%sI=<($9$k$3$H$,2DG=$G!";d$?$A$,$=$&$9$k$3$H$rK>$`>l9g$@$1!"G[CV;XDj$,(B -$B>e=q$-$5$l$k$3$H$KCm0U$7$F2<$5$$!#(B) +$B$$$/$D$+$N(B @acronym{MIME} $B%(!<%8%'%s%H$O!VE:IU%U%!%$%k!W(B(attachment) $B$N(B +$BG[CV;XDj(B (content-disposition) $B$r;}$D%Q!<%H$r@8@.$7$^$9!#$3$NJQ?t$K4^$^(B +$B$l$k(B @acronym{MIME} $B%?%$%W$N>l9g$O$=$s$JG[CV;XDj$rL5;k$7$F!"$=$N%Q!<%H$r(B +$B%$%s%i%$%sI=<($9$k$3$H$,$G$-$k$h$&$K$7$^$9!#(B($B$=$N%Q!<%H$r%$%s%i%$%sI=<((B +$B$9$k$3$H$,2DG=$G!";d$?$A$,$=$&$9$k$3$H$rK>$`>l9g$K8B$C$F!"G[CV;XDj$,L5;k(B +$B$5$l$k$3$H$KCm0U$7$F$/$@$5$$!#(B) @item mm-discouraged-alternatives @vindex mm-discouraged-alternatives -@samp{multipart/alternative} $B$rI=<($9$k$3$H$,7y$o$l$k(B @acronym{MIME} $B%?(B -$B%$%W$N%j%9%H$G$9!#$=$l$,:G$b6=L#?<$$$b$N$G$"$k$HA[Dj$7$F$$$k$?$a$K!"I=<((B -$B%(!<%8%'%s%H$O%a%C%;!<%8$N8eH>$K$"$k2D;k$J%Q!<%H$rI=<($9$k$3$H$K$J$C$F$$(B -$B$^$9!#$7$+$7!"%f!<%6!<$OBe$o$j$KB>$N%?%$%W$r9%$`$+$b$7$l$^$;$s!#$3$N%j%9(B -$B%H$O!"2?$N%?%$%W$,:G$bK>$^$l$J$$$+$r<($7$^$9!#Nc$($P$b$7!"(B -@samp{text/html} $B%Q!<%H$OHs>o$KK>$^$:!"$+$D(B @samp{text/richtext} $B%Q!<%H(B -$B$r$d$dK>$^$J$$$H$$$&$3$H$G$"$l$P!"0J2<$N$h$&$K@k8@$9$k$3$H$,$G$-$^$9(B: +@samp{multipart/alternative} $B$K4^$^$l$F$$$k!"8+$?$/$J$$%Q!<%H(B +$B$N(B @acronym{MIME} $B%?%$%W$N%j%9%H$G$9!#%a%C%;!<%8$N8eH>$K$"$k%Q!<%H$,:G$b(B +$BK-$+$JFbMF$K$J$C$F$$$k$HA[Dj$7$F$$$k$N$G!"I=<(%(!<%8%'%s%H$O$=$l$rI=<($9(B +$B$k$3$H$K$J$C$F$$$^$9!#$7$+$7!"MxMQ$N%?%$%W$r8+$k$3$H$r9%$`(B +$B$+$b$7$l$^$;$s!#$3$N%j%9%H$O!"$I$s$J%?%$%W$r:G$b8+$?$/$J$$$+$r;XDj$9$k$?(B +$B$a$K;H$$$^$9!#Nc$($P$b$7(B @samp{text/html} $B%Q!<%H$r$<$s$<$s8+$?$/$J$/$F!"(B +@samp{text/richtext} $B%Q!<%H$O$"$^$j8+$?$/$J$$$H$$$&$3$H$G$"$l$P!"0J2<$N(B +$B$h$&$K@k8@$9$k$3$H$,$G$-$^$9(B: @lisp (setq mm-discouraged-alternatives @@ -338,23 +376,54 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g (remove "text/html" mm-automatic-display)) @end lisp +$B$5$i$K!"$3$l$K(B @code{"image/.*"} $B$rDI2C$9$k$3$H$OLr$KN)$D$G$7$g$&!#(B +Spammers $B$O(B @samp{multipart/alternative} $B%a%C%;!<%8$NM%@h$5$l$kB&$G2hA|(B +$B$r;H$C$F$$$k$3$H$,$"$k$N$G!"$"$J$?$O$=$l0J30$N%Q!<%H$,$"$k$3$H$K5$$,IU$+(B +$B$J$$$+$b$7$l$^$;$s!#(B@code{gnus-buttonized-mime-types} $B$b;2>H$7$F$/$@$5(B +$B$$(B (@pxref{MIME Commands, ,MIME $B%3%^%s%I(B, gnus-ja, The Gnus Manual})$B!#(B +@code{gnus-buttonized-mime-types} $B$K(B @code{"multipart/alternative"} $B$rDI(B +$B2C$7$?8e$G$O!"8+$?$$B&$rl9g!"(BGnus $B$O$=$N$h$&$Jl9g$O!"%i%$%V%i%j!<$O$=$l$r30It$G(B ($BNc$((B -$B$P(B @samp{ImageMagick} $B$d(B @samp{xv} $B$G(B) $BI=<($7$^$9!#$3$NJQ?t(B -$B$r(B @code{t} $B$K@_Dj$9$k$H$3$N8!::$r$5$;$J$/$7$F!"%i%$%V%i%j!<$K$9$Y$F$N%$(B -$B%s%i%$%s2hA|$r%5%$%:$K4X$o$j$J$/%$%s%i%$%s$GI=<($5$;$^$9!#(B +$B$H$,$G$-$^$;$s!#$D$^$j2hA|$NA4BN$r8+$k$3$H$,$G$-$J$$$H$$$&$3$H$G$9!#$3$l(B +$B$rHr$1$k$?$a$K!"%i%$%V%i%j!<$O$=$l$r%$%s%i%$%sI=<($9$kA0$K2hA|$N%5%$%:$r(B +$B7W$C$F!"$=$l$,%&%#%s%I%&$K9g$o$J$$>l9g$O!"%i%$%V%i%j!<$O$=$l$r30It$G(B ($BNc(B +$B$($P(B @samp{ImageMagick} $B$d(B @samp{xv} $B$G(B) $BI=<($7$^$9!#$3$NJQ?t(B +$B$r(B @code{t} $B$K@_Dj$9$k$H!"$3$N8!::$r$5$;$J$/$7$F!"%i%$%V%i%j!<$K$9$Y$F$N(B +$B2hA|$r%5%$%:$K4X$o$j$J$/%$%s%i%$%s$GI=<($5$;$^$9!#$b$7$3$NJQ?t(B +$B$r(B @code{resize} $B$K$9$k$H!"(BEmacs $B$K2hA|$N%5%$%:$rJQ99$9$kG=NO$,$"$l$P!"(B +$B2hA|$O%&%#%s%I%&$K9g$&$h$&$K%5%$%:$,JQ99$5$l$FI=<($5$l$^$9!#(B + +@item mm-inline-large-images-proportion +@vindex mm-inline-images-max-proportion +$BBg$-$J2hA|$N%5%$%:$rJQ99$9$k$H$-$N3d9g!#(B @item mm-inline-override-types @vindex mm-inline-override-types @code{mm-inlined-types} $B$O!"Nc$($P$9$Y$F$N(B @samp{text/.*} $B%Q!<%H$r%$%s%i(B -$B%$%s$GI=<($9$k$3$H$r;X<($9$k$h$&$J!"@55,I=8=$r4^$`$3$H$,$G$-$^$9!#0lJ}!"(B -$B%$%s%i%$%sI=<($,2DG=$@$1$l$I$bE:IU%U%!%$%k$H$7$F07$$$?$$%?%$%W$,$"$k$J$i(B -$B$P!"$=$N%?%$%W$K9gCW$9$k@55,I=8=$N%j%9%H$r!"$3$NJQ?t$K@_Dj$9$k$3$H$K$h$C(B -$B$F@.$7?k$2$k$3$H$,$G$-$^$9!#Nc$((B +$B%$%s$GI=<($9$k$3$H$r;X<($9$k$h$&$J@55,I=8=$r4^$s$G$$$k$+$b$7$l$^$;$s!#0l(B +$BJ}!"%$%s%i%$%sI=<($,2DG=$@$1$l$I$bE:IU%U%!%$%k$H$7$F07$$$?$$%?%$%W$,$"$k(B +$B$J$i$P!"$=$N%?%$%W$K9gCW$9$k@55,I=8=$N%j%9%H$r$3$NJQ?t$K@_Dj$9$k$3$H$K$h$C(B +$B$F!"$=$l$r\(B -$B:Y$O(B @uref{http://emacs-w3m.namazu.org/} $B$r8+$F2<$5$$!#(B}, @code{links}, +$BIA2h%W%m%0%i%`$O!"(B@code{gnus-article-html}, @code{w3}, +@code{w3m}@footnote{emacs-w3m $B$K$D$$$F$N>\:Y(B +$B$O(B @uref{http://emacs-w3m.namazu.org/} $B$r8+$F$/$@$5$$!#(B}, @code{links}, @code{lynx}, @code{w3m-standalone} $B$^$?$O(B @code{html2text} $B$N%7%s%\%k72(B $B$N$&$A$N0l$D$r;XDj$9$k$3$H$K$h$C$FA*Br$7$^$9!#$b$7(B @code{nil} $B$@$C$?$i!"(B $B30It%S%e!<%o!<$r;H$$$^$9!#$5$i$K4X?t(B ($B0z?t$H$7$F(B @acronym{MIME} $B%O%s%I%k(B @@ -375,25 +445,27 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g $B$i$^$/$d$+$i(B) $B$NH\Nt$J0-9*$_$,4^$^$l$F$$$k$+$b$7$l$^$;$s!#:G$b$"$j$=$&$J(B $B$N$O!"$"$J$?$,$=$N%a!<%k$rFI$s$@$3$H$r3NG'$9$k$?$a$N0U?^$,$"$k$3$H$G$9!#(B $B$3$N%*%W%7%g%s$r(B @code{nil} $B$K@_Dj$9$k(B ($B$=$l$,%G%#%U%)%k%H$G$9(B) $B$3$H$K$h$C(B -$B$F!"$"$J$?$N8D?M>pJs$,N.=P$9$k$N$rKI$0$3$H$,$G$-$^$9!#8=:_(B Emacs/w3 $B$O!"(B -$B$3$l$rL5;k$7$^$9!#(BEmacs-w3m $B$G$O!"$3$l$,(B @code{nil} $B$G$"$C$F$b!"2hA|$rI=(B -$B<($9$k$?$a$K!"$=$l$,Kd$a9~$^$l$?>l=j$G(B @kbd{t} $B%3%^%s%I$r;H$&$3$H$,$G$-(B -$B$^$9!#(B@footnote{@kbd{T} $B%3%^%s%I$O$9$Y$F$N2hA|$rpJs$,N.=P$9$k$N$rKI$0$3$H$,$G$-$^$9!#:#$N$H$3(B +$B$m(B Emacs/W3 $B$O$3$l$rL5;k$7$^$9!#(BEmacs-w3m $B$G$O!"$3$l$,(B @code{nil} $B$G$"$C(B +$B$F$b!"2hA|$,Kd$a9~$^$l$?>l=j$G(B @kbd{t} $BL?Na$r;H$&$3$H$K$h$C$F2hA|$rI=<((B +$B$9$k$3$H$,$G$-$^$9!#(B@footnote{@kbd{T} $BL?Na$O$9$Y$F$N2hA|$rl9g$O!"Be$o$j(B +$B$K(B @kbd{i} $B$+(B @kbd{I} $B$r;H$C$F$/$@$5$$!#(B} @item mm-w3m-safe-url-regexp @vindex mm-w3m-safe-url-regexp $B0BA4$J(B URL $BL>!"$9$J$o$A(B @acronym{HTML} $B%a!<%k$rIA2h$9$k$H$-$K8D?M>pJs$,(B $BN.=P$7$=$&$b$J$$(B URL $B$K9gCW$9$k@55,I=8=$G$9(B ($B%G%#%U%)%k%HCM(B -$B$O(B @samp{\\`cid:} $B$G$9(B)$B!#(B@code{nil} $B$G$"$k$H!"$9$Y$F$N(B URL $B$,0BA4$@$HH=(B -$BCG$7$^$9!#(B +$B$O(B @samp{\\`cid:} $B$G$9(B)$B!#(B@code{nil} $B$K$9$k$H!"$9$Y$F$N(B URL $B$,0BA4$@$HH=(B +$BCG$7$^$9!#(BGnus $B$G$O!"$3$l$O(B @code{gnus-safe-html-newsgroups} $B$NCM$K1~$8(B +$B$F>e=q$-$5$l$^$9!#(B@xref{Various Various, ,$B$$$m$$$m$N$$$m$$$m(B, gnus-ja, +The Gnus Manual}. @item mm-inline-text-html-with-w3m-keymap @vindex mm-inline-text-html-with-w3m-keymap $B$3$N%*%W%7%g%s$rHs(B-@code{nil} $B$K@_Dj$9$k$3$H$K$h$C$F!"%$%s%i%$%sI=<($5$l(B -$B$?(B text/html $B%Q!<%H$G(B emacs-w3m $B$N%3%^%s%I%-!<$r;H$&$3$H$,$G$-$^$9!#%G%#(B -$B%U%)%k%HCM$O(B @code{t} $B$G$9!#(B +$B$?(B text/html $B%Q!<%H$G(B emacs-w3m $B$NL?Na%-!<$r;H$&$3$H$,$G$-$^$9!#%G%#%U%)(B +$B%k%HCM$O(B @code{t} $B$G$9!#(B @item mm-external-terminal-program @vindex mm-external-terminal-program @@ -403,17 +475,17 @@ Emacs $B$N%=!<%9%3!<%I!#$3$N9`L\$O(B @code{mm-uu-emacs-sources-regexp} $B$K9g @vindex mm-enable-external $B30It$N(B @acronym{MIME} $B%O%s%I%i!<$r;H$&$Y$-$+$I$&$+$r;XDj$7$^$9!#(B -@code{t} $B$G$"$k$H!"Dj5A$5$l$?$9$Y$F$N30It$N(B @acronym{MIME} $B%O%s%I%i!<$,(B -$B;H$o$l$^$9!#(B@code{nil} $B$@$C$?$i!"%U%!%$%k$O%G%#%9%/$KJ]B8$5$l$^(B -$B$9(B (@code{mailcap-save-binary-file})$B!#$3$l$,(B @code{ask} $B$H$$$&%7%s%\%k$G(B -$B$"$C$?$J$i$P!"30It$N(B @acronym{MIME} $B%O%s%I%i!<$,5/F0$5$l$kA0$K?R$M$i$l$k(B -$B$G$7$g$&!#(B - -Mailcap (@pxref{mailcap}) $B$r2p$7$FE:IU%U%!%$%k$NI=<($r;O$a$k$H!":G$b0BA4(B -$B$J%*%W%7%g%s$G0BA4$J%S%e!<%o!<$r;H$&$3$H$r;n$_$^$9(B ($BE:IU%U%!%$%k$r%G%#%9(B -$B%/$KJ]B8$7$F!"0[$J$kl9g$H$O0c$$$^$9(B)$B!#$H$K$+$/!"$I$s$J30It%W%m%0%i%`$b;H$$$?$/$J$$$N$G(B -$B$"$l$P!"$3$NJQ?t$r(B @code{nil} $B$+(B @code{ask} $B$K@_Dj$7$F2<$5$$!#(B +@code{t} $B$@$C$?$i!"Dj5A$5$l$F$$$k$9$Y$F$N30It$N(B @acronym{MIME} $B%O%s%I%i!<(B +$B$,;H$o$l$^$9!#(B@code{nil} $B$K$9$k$H!"%U%!%$%k$O%G%#%9%/$KJ]B8$5$l$^(B +$B$9(B (@code{mailcap-save-binary-file})$B!#$3$l$,(B @code{ask} $B$H$$$&%7%s%\%k$@$C(B +$B$?$i!"30It$N(B @acronym{MIME} $B%O%s%I%i!<$,5/F0$5$l$kA0$K?R$M$i$l$k$G$7$g$&!#(B + +Mailcap (@pxref{mailcap}) $B$r2p$7$FE:IU%U%!%$%k$NI=<($r;O$a$k$H!"0BA4$J(B +$B%S%e!<%o!<$r:G$b0BA4$J%*%W%7%g%s$G;H$&$3$H$r;n$_$^$9(B ($BE:IU%U%!%$%k$r%G%#(B +$B%9%/$KJ]B8$7$F!"0[$J$kl9g$H$O0c$$$^$9(B)$B!#$H$K$+$/!"I,$:$I$s$J30It%W%m%0%i%`$b;H$o$J$$$h(B +$B$&$K$7$?$$$N$G$"$l$P!"$3$NJQ?t$r(B @code{nil} $B$+(B @code{ask} $B$K@_Dj$7$F$/$@(B +$B$5$$!#(B @end table @node Files and Directories @@ -422,18 +494,18 @@ Mailcap (@pxref{mailcap}) $B$r2p$7$FE:IU%U%!%$%k$NI=<($r;O$a$k$H!":G$b0BA4(B @table @code @item mm-default-directory @vindex mm-default-directory -$BE:IU%U%!%$%k$rJ]B8$9$k%G%#%U%)%k%H$N%G%#%l%/%H%j!<$G$9!#(B@code{nil} $B$@$C(B -$B$?$i(B @code{default-directory} $B$r;H$$$^$9!#(B +$BE:IU%U%!%$%k$rJ]B8$9$k$?$a$N!"%G%#%U%)%k%H$N%G%#%l%/%H%j!<$G$9!#(B +@code{nil} $B$@$C$?$i(B @code{default-directory} $B$r;H$$$^$9!#(B @item mm-tmp-directory @vindex mm-tmp-directory -$B0l;~%U%!%$%k$r3JG<$9$k%G%#%l%/%H%j!<$G$9!#(B +$B0l;~%U%!%$%k$r3JG<$9$k$?$a$N%G%#%l%/%H%j!<$G$9!#(B @item mm-file-name-rewrite-functions @vindex mm-file-name-rewrite-functions @acronym{MIME} $B%Q!<%H$N%U%!%$%kL>$r=q$-49$($k$?$a$K;H$o$l$k4X?t$N%j%9%H(B -$B$G$9!#$=$l$>$l$N4X?t$O%U%!%$%kL>$r$rJV$7$^$9!#=PMh(B -$B9g$$$N4X?t$O0J2<$NDL$j$G$9!#(B +$B$G$9!#$=$l$>$l$N4X?t$O%U%!%$%kL>$KBP$7$F=g7+$j$K} $B$*$h$S(B @samp{<}$B!"2C$($F:G=i$NJ8;z$H$7$F;H$o$l(B $B$k(B @samp{-} $B$H(B @samp{.} $B$r>C5n$7$^$9!#(B @@ -461,17 +533,18 @@ Mailcap (@pxref{mailcap}) $B$r2p$7$FE:IU%U%!%$%k$NI=<($r;O$a$k$H!":G$b0BA4(B @item mm-file-name-replace-whitespace @findex mm-file-name-replace-whitespace @vindex mm-file-name-replace-whitespace -$B6uGrJ8;z$r2<@~(B (underscores) $B$GCV$-49$($^$9!#2<@~$,$*9%$_$G$J$1$l$P!"B>(B -$B$NJ8;z$r(B @code{mm-file-name-replace-whitespace} $BJQ?t$K@_Dj$7$F2<$5$$!#(B +$B6uGrJ8;z$r2<@~(B (underscore) $B$GCV$-49$($^$9!#2<@~$,$*9%$_$G$J$1$l$P!"B>$N(B +$BJ8;z$r(B @code{mm-file-name-replace-whitespace} $BJQ?t$K@_Dj$7$F$/$@$5$$!#(B @end table Emacs $BI8=`$N4X?t$G$"$k(B @code{capitalize}, @code{downcase}, -@code{upcase} $B$*$h$S(B @code{upcase-initials} $B$b!"LrN)$D$3$H$OL@$i$+$G$9!#(B +@code{upcase} $B$*$h$S(B @code{upcase-initials} $B$bLr$KN)$D$3$H$,$"$k$+$b$7$l(B +$B$^$;$s!#(B @item mm-path-name-rewrite-functions @vindex mm-path-name-rewrite-functions @acronym{MIME} $B%Q!<%H$N%U%k!&%U%!%$%kL>$r=q$-49$($k$?$a$K;H$o$l$k4X?t$N(B -$B%j%9%H$G$9!#$3$l$O%Q!<%H$r30It$KI=<($9$k$H$-(B ($B$9$J$o$A!"M;DL$N8z$+$J$$%W(B +$B%j%9%H$G$9!#$3$l$O%Q!<%H$r30It$GI=<($9$k$H$-(B ($B$9$J$o$A!"M;DL$N8z$+$J$$%W(B $B%m%0%i%`$,!"%U%!%$%k$,J]B8$5$l$?>l=j$r8+$D$1$k$3$H$,$G$-$k$h$&$K!"@dBP%Q(B $B%9L>$rJQ49$9$k$?$a(B) $B$K;H$o$l$^$9!#(B @end table @@ -492,18 +565,18 @@ Emacs $BI8=`$N4X?t$G$"$k(B @code{capitalize}, @code{downcase}, (mm-insert-inline handle text))) @end lisp -$B$3$N4X?t$,%Q%i%a!<%?$H$7$F(B @acronym{MIME} $B%O%s%I%k$rl=j$r0\$7!"%Q!<%H$N%F%-%9%H$rA^F~$7!"$=(B -$B$N%F%-%9%H$K$"$k=hM}$r;\$7!"7k2L$r3P$($F$*$$$F!"4X?t$,8F$P$l$?$H$-$N%P%C(B -$B%U%!$KLa$C$F$=$N7k2L$rA^F~$7$^$9!#(B +$B$3$N4X?t$,%Q%i%a!<%?!<$H$7$F(B @acronym{MIME} $B%O%s%I%k$rl=j$r0\$7!"%Q!<%H$N%F%-%9%H$rA^F~$7!"(B +$B$=$N%F%-%9%H$K2?$+$N=hM}$r;\$7!"7k2L$r3P$($F$*$$$F!"4X?t$,8F$P$l$?$H$-$N(B +$B%P%C%U%!!<$KLa$C$F$=$N7k2L$rA^F~$7$^$9!#(B $B$3$3$K$"$kFs$D$N=EMW$J$*=u$14X?t(B $B$O(B @code{mm-insert-part} $B$H(B @code{mm-insert-inline} $B$G$9!#:G=i$N4X?t$O!"(B -$B%O%s%I%k$N%F%-%9%H$r8=:_$N%P%C%U%!$KA^F~$7$^$9!#$3$l$OJ8;z%;%C%H$*$h$S%((B -$B%s%3!<%G%#%0(B (content transfer decoding) $B$r This is a plain text part. +$B$3$l$O%W%l!<%s%F%-%9%H$N%Q!<%H$G$9!#(B <#part type=text/enriched>
This is a centered enriched part
+
$B$3$l$OCf?4$KCV$+$l$k(B enriched $B%Q!<%H$G$9(B
<#/multipart> @end example -After running this through @code{mml-generate-mime}, we get this: +$B$3$l$r(B @code{mml-generate-mime} $B$KDL$9$H!"This is a centered enriched part +
$B$3$l$OCf?4$KCV$+$l$k(B enriched $B%Q!<%H$G$9(B
--=-=-=-- @end example +($B/$7;w$F$$$^(B +$B$9$,!"0[$J$k$b$N$G$9!#(B -The main concept of @acronym{MML} is the @dfn{part}. Each part can be of a -different type or use a different charset. The way to delineate a part -is with a @samp{<#part ...>} tag. Multipart parts can be introduced -with the @samp{<#multipart ...>} tag. Parts are ended by the -@samp{<#/part>} or @samp{<#/multipart>} tags. Parts started with the -@samp{<#part ...>} tags are also closed by the next open tag. +@acronym{MML} $B$N$l$N%Q!<%H$r0[$J$k%?%$(B +$B%W$K$7$?$j!"0[$J$kJ8;z%;%C%H$r;H$&$3$H$,$G$-$^$9!#%Q!<%H(B +$B$O(B @samp{<#part ...>} $B%?%0$G5-=R$7$^$9!#%^%k%A%Q!<%H7?$N%Q!<%H(B +$B$O(B @samp{<#multipart ...>} $B%?%0$G;O$a$^$9!#$=$l$>$l$N%Q!<%H(B +$B$O(B @samp{<#/part>} $B%?%0$+(B @samp{<#/multipart>} $B%?%0$G=*C<$7$^$9$,!"(B($B$=$l(B +$B$i$,L5$/$F$b(B) @samp{<#part ...>} $B$G;O$^$C$?%?%0$O} tag. These introduce -@samp{external/message-body} parts. +@samp{<#external ...>} $B%?%0$H$$$&$b$N$b$"$j$^$9!#$3$l(B +$B$O(B @samp{external/message-body} $B7?$N%Q!<%H$r5-=R$9$k$?$a$K;H$o$l$^$9!#(B -Each tag can contain zero or more parameters on the form -@samp{parameter=value}. The values may be enclosed in quotation marks, -but that's not necessary unless the value contains white space. So -@samp{filename=/home/user/#hello$^yes} is perfectly valid. +$B$=$l$>$l$N%?%0$O!V(Bparameter=$BCM!W$N7A<0$G!"0l$D0J>e$N%Q%i%a!<%?!<$r4^$`$3(B +$B$H$,$G$-$^$9(B ($B$b$A$m$sL5$$$3$H$b$"$j$^$9(B)$B!#CM$r%/%)!<%F!<%7%g%s%^!<(B +$B%/(B ("...") $B$G0O$`$3$H$,$G$-$^$9$,!"CM$,6uGrJ8;z$r4^$`>l9g0J30$O0O$`I,MW(B +$B$,$"$j$^$;$s!#$7$?$,$C$F!"(B@samp{filename=/home/user/#hello$^yes} $B$O40A4(B +$B$KM-8z$G$9!#(B -The following parameters have meaning in @acronym{MML}; parameters that have no -meaning are ignored. The @acronym{MML} parameter names are the same as the -@acronym{MIME} parameter names; the things in the parentheses say which -header it will be used in. +$B0J2<$N%Q%i%a!<%?!<$O(B @acronym{MML} $B$G;H$o$l$k$b$N$G$9!#0UL#$r;}$?$J$$%Q(B +$B%i%a!<%?!<$OL5;k$5$l$^$9!#(B@acronym{MML} $B%Q%i%a!<%?!<$NL>A0(B +$B$O(B @acronym{MIME} $B%Q%i%a!<%?!<$NL>A0$HF1$8$G!"3g8L$NCf$KIU5-$7$F$"$k$N$O!"(B +$B$=$l$,;H$o$l$k%X%C%@!<$G$9!#(B @table @samp @item type -The @acronym{MIME} type of the part (@code{Content-Type}). +$B%Q!<%H$N(B @acronym{MIME} $B%?%$%W$G$9(B (@code{Content-Type})$B!#(B @item filename -Use the contents of the file in the body of the part -(@code{Content-Disposition}). +$B$=$N%Q!<%H$NK\BN$,4^$`$3$H$K$J$k%U%!%$%k$NL>A0$G(B +$B$9(B (@code{Content-Disposition})$B!#(B @item charset -The contents of the body of the part are to be encoded in the character -set specified (@code{Content-Type}). @xref{Charset Translation}. +$B%Q!<%H$NFbMFJ*$r%(%s%3!<%I$9$k$H$-$K;H$o$l$kJ8;z%;%C%H$G(B +$B$9(B (@code{Content-Type})$B!#(B@xref{Charset Translation}. @item name -Might be used to suggest a file name if the part is to be saved -to a file (@code{Content-Type}). +$B%Q!<%H$r%U%!%$%k$KJ]B8$9$k$H$-$N%U%!%$%kL>$r<(:6$9$k$?$a$K;H$o$l$k$+$b$7(B +$B$l$^$;$s(B (@code{Content-Type})$B!#(B @item disposition -Valid values are @samp{inline} and @samp{attachment} -(@code{Content-Disposition}). +$BG[CV;XDj$K;H$$$^$9!#M-8z$JCM$O(B @samp{inline} $B$H(B @samp{attachment} $B$G(B +$B$9(B (@code{Content-Disposition})$B!#(B @item encoding -Valid values are @samp{7bit}, @samp{8bit}, @samp{quoted-printable} and -@samp{base64} (@code{Content-Transfer-Encoding}). @xref{Charset +$BM-8z$JCM$O(B @samp{7bit}, @samp{8bit}, @samp{quoted-printable} $B$*$h(B +$B$S(B @samp{base64} $B$G$9(B (@code{Content-Transfer-Encoding})$B!#(B@xref{Charset Translation}. @item description -A description of the part (@code{Content-Description}). +$B%Q!<%H$N@bL@=q$-$G$9(B (@code{Content-Description})$B!#(B @item creation-date -RFC822 date when the part was created (@code{Content-Disposition}). +$B%Q!<%H$,:n@.$5$l$?;~9o(B (RFC822 $B7A<0(B) $B$G$9(B (@code{Content-Disposition})$B!#(B @item modification-date -RFC822 date when the part was modified (@code{Content-Disposition}). +$B%Q!<%H$,JQ99$5$l$?;~9o(B (RFC822 $B7A<0(B) $B$G$9(B (@code{Content-Disposition})$B!#(B @item read-date -RFC822 date when the part was read (@code{Content-Disposition}). +$B%Q!<%H$,FI$^$l$?;~9o(B (RFC822 $B7A<0(B) $B$G$9(B (@code{Content-Disposition})$B!#(B @item recipients -Who to encrypt/sign the part to. This field is used to override any -auto-detection based on the To/CC headers. +$B%Q!<%H$rC/08$F$K0E9f2=(B/$B=pL>$9$k$+$r;XDj$7$^$9!#$3$l$O(B To/CC $B$r4p$K$7$?<+(B +$BF08!=P$h$j$bM%@h$5$l$^$9!#(B @item sender -Identity used to sign the part. This field is used to override the -default key used. +$B%Q!<%H$K=pL>$9$k$H$-$NL>5A$G$9!#$3$N%U%#!<%k%I$O%G%#%U%)%k%H$N80$,;H$o$l(B +$B$J$$$h$&$K$9$k$?$a$K;H$o$l$^$9!#(B @item size -The size (in octets) of the part (@code{Content-Disposition}). +$B%Q!<%H$N%5%$%:$r(B octet (8-bit) $B$NC10L$GI=$7$^(B +$B$9(B (@code{Content-Disposition})$B!#(B @item sign -What technology to sign this @acronym{MML} part with (@code{smime}, @code{pgp} -or @code{pgpmime}) +$B$3$N(B @acronym{MML} $B$N%Q!<%H$K!"2?$N5;=Q$9$k$+$r;XDj$7$^$9!#(B @item encrypt -What technology to encrypt this @acronym{MML} part with (@code{smime}, -@code{pgp} or @code{pgpmime}) - +$B$3$N(B @acronym{MML} $B$N%Q!<%H$r!"2?$N5;=Q$9$k?M$N80$H>ZL@=q$r4^$s$G$$$k%U%!%$%k$G$9!#(B @end table -Parameters for @samp{encrypt=smime}: +$B0J2<$O(B @samp{encrypt=smime} $B$N$?$a$N%Q%i%a!<%?!<$G$9(B: @table @samp - @item certfile -File containing certificate for recipient. - +$BZL@=q$r4^$s$G$$$k%U%!%$%k$G$9!#(B @end table - @node Advanced MML Example -@section Advanced MML Example +@section $B9bEY$J(B MML $B$NNc(B -Here's a complex multipart message. It's a @samp{multipart/mixed} that -contains many parts, one of which is a @samp{multipart/alternative}. +$BJ#;($J%^%k%A%Q!<%H!&%a%C%;!<%8$NNc$G$9!#$3$l$O(B @samp{multipart/mixed} $B$G(B +$B$9!#B??t$N%Q!<%H$r4^$s$G$$$F!"$=$N0l$D$O(B @samp{multipart/alternative} $B$G(B +$B$9!#(B @example <#multipart type=mixed> <#part type=image/jpeg filename=~/rms.jpg disposition=inline> <#multipart type=alternative> This is a plain text part. +$B$3$l$O%W%l!<%s%F%-%9%H$N%Q!<%H$G$9!#(B <#part type=text/enriched name=enriched.txt>
This is a centered enriched part
+
$B$3$l$OCf?4$KCV$+$l$k(B enriched $B%Q!<%H$G$9(B
<#/multipart> This is a new plain text part. +$B$3$l$O?7$7$$%W%l!<%s%F%-%9%H$N%Q!<%H$G$9!#(B <#part disposition=attachment> This plain text part is an attachment. +$B$3$N%W%l!<%s%F%-%9%H$N%Q!<%H$OE:IU%U%!%$%k$G$9!#(B <#/multipart> @end example -And this is the resulting @acronym{MIME} message: +$B$=$7$F!"$3$l$,7k2L$N(B @acronym{MIME} $B%a%C%;!<%8$G$9(B: @example Content-Type: multipart/mixed; boundary="=-=-=" - ---=-=-= - - - --=-=-= -Content-Type: image/jpeg; - filename="~/rms.jpg" -Content-Disposition: inline; - filename="~/rms.jpg" +Content-Type: image/jpeg +Content-Disposition: inline; filename=rms.jpg Content-Transfer-Encoding: base64 /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRof @@ -762,49 +832,52 @@ tLQ7hbnRrV1GPkAP1x1/Hr+Ncr8Vzjwrbf8AX6v/AKA9eQRyYlQk8Yx9K6XTNbkgia2ciSIn 7p5Ga9Atte0LTLKO6it4i7dVRFJDcZ4PvXN+JvEMF9bILVGXJLSZ4zkjivRPDaeX4b08HOTC pOffmua+KkbS+GLVUGT9tT/0B68eeIpIFYjB70+OOVXyoOM9+M1eaWeCLzHPyHGO/NVWvJJm jQ8KGH1NfQWhXSXmh2c8eArRLwO3HSv/2Q== - --=-=-= Content-Type: multipart/alternative; boundary="==-=-=" - --==-=-= - +Content-Type: text/plain; charset=iso-2022-jp This is a plain text part. +$B$3$l$O%W%l!<%s%F%-%9%H$N%Q!<%H$G$9!#(B --==-=-= -Content-Type: text/enriched; - name="enriched.txt" - +Content-Type: text/enriched; charset=iso-2022-jp; name=enriched.txt
This is a centered enriched part
+
$B$3$l$OCf?4$KCV$+$l$k(B enriched $B%Q!<%H$G$9(B
--==-=-=-- --=-=-= +Content-Type: text/plain; charset=iso-2022-jp This is a new plain text part. +$B$3$l$O?7$7$$%W%l!<%s%F%-%9%H$N%Q!<%H$G$9!#(B --=-=-= +Content-Type: text/plain; charset=iso-2022-jp Content-Disposition: attachment - This plain text part is an attachment. +$B$3$N%W%l!<%s%F%-%9%H$N%Q!<%H$OE:IU%U%!%$%k$G$9!#(B --=-=-=-- @end example +($B$NMW7o$K$h$C$FFCDj$N%(%s%3!<%G%#%s%0$,6/@)$5$l$J$$$H$-$K!"DL>o;H(B +$B$o$l$^$9(B ($BEE;R=pL>$5$l$?%a%C%;!<%8$O(B 7bit $B%(%s%3!<%G%#%s%0$rI,MW$H$7$^$9(B)$B!#(B +$B%G%#%U%)%k%HCM$Ol9g$O!"$3$NJQ?t$K(B @code{(iso-8859-1 . 8bit)} $B$rDI2C$9$l$PNI$$$G(B +$B$7$g$&!#(B@acronym{MML} $B$N(B @code{encoding} $B%?%0$r;H$C$F!"%a%C%;!<%8Kh$K$=(B +$B$l$G;XDj$7$?CM$r$3$NJQ?t$h$jM%@h$5$;$k$3$H$b$G$-$^(B +$B$9(B (@pxref{MML Definition})$B!#(B @item mm-coding-system-priorities @vindex mm-coding-system-priorities -Prioritize coding systems to use for outgoing messages. The default -is @code{nil}, which means to use the defaults in Emacs. It is a list of -coding system symbols (aliases of coding systems are also allowed, use -@kbd{M-x describe-coding-system} to make sure you are specifying correct -coding system names). For example, if you have configured Emacs -to prefer UTF-8, but wish that outgoing messages should be sent in -ISO-8859-1 if possible, you can set this variable to -@code{(iso-8859-1)}. You can override this setting on a per-message -basis by using the @code{charset} @acronym{MML} tag (@pxref{MML Definition}). +$BAw=P$9$k%a%C%;!<%8$G;H$&(B coding system $B$NM%@hEY$r;XDj$7$^$9!#%G%#%U%)%k(B +$B%HCM$O(B @code{nil} $B$G$9(B ($B$=$N>l9g$O(B Emacs $B$K$*$1$k%G%#%U%)%k%H$NM%@h=g0L(B +$B$,E,MQ$5$l$^$9(B) $B$,!"F|K\8l4D6-$G(B Emacs $B$rl9g(B +$B$O(B @code{(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8)} $B$K$J$j(B +$B$^$9!#CM$O(B coding system $B$N%7%s%\%k$N%j%9%H$G$9(B (coding system $B$NJLL>$r(B +$B;H$C$F$b9=$$$^$;$s!#@_Dj$9$k$H$-$O(B @kbd{M-x describe-coding-system} $B$r;H$C(B +$B$F!"(Bcoding system $B$NL>A0$,@53N$G$"$k$3$H$r3N$+$a$F$/$@$5$$(B)$B!#Nc$((B +$B$P(B UTF-8 $B$r:GM%@h$H$9$k$h$&$K(B Emacs $B$r@_Dj$7$?$b$N$N!"2DG=$J>l9g(B +$B$O(B ISO-8859-1 $B$G%a%C%;!<%8$rAw?.$9$k$h$&$K$7$?$$$H$$$&>l9g$@$C$?$i!"$3(B +$B$NJQ?t$r(B @code{(iso-8859-1)} $B$K$9$l$PNI$$$G$7$g$&!#(B +@acronym{MML} $B$N(B @code{charset} $B%?%0$r;H$C$F!"%a%C%;!<%8Kh$K$=$l$G;XDj$7(B +$B$?CM$r$3$NJQ?t$h$jM%@h$5$;$k$3$H$b$G$-$^$9(B (@pxref{MML Definition})$B!#(B + +@quotation +$BLuCm(B: $BF|K\8l4D6-$H$O(B @code{current-language-environment} $BJQ?t$NCM(B +$B$,(B @samp{Japanese} $B$K$J$C$F$$$k4D6-$N$3$H$G$9!#F|K\8l$N%a%C%;!<%8$N%(%s(B +$B%3!<%I$K$OEAE}E*$K(B @code{iso-2022-jp} $B$,;H$o$l$F$$$k$N$KBP$7!"(BEmacs $B$GDj(B +$B$a$i$l$?M%@h=g0L$K4p$E$/$H(B @code{euc-jp} $B$d(B @code{shift_jis} $B$J$I$,Bh0l(B +$B8uJd$K$J$C$F$7$^$&$N$G!"$3$NCM$,(B @code{nil} $B$G$O$h$m$7$/$J$$$N$G$9!#(B + +$B$J$*!"%i%F%s8l7w$N?M$?$A$K08$F$FAw$k%a%C%;!<%8$,!"H`$i$,%G%3!<%I$G$-$J$$(B +$B$+$b$7$l$J$$(B @code{iso-2022-jp-2} $B$J$I$G%(%s%3!<%I$5$l$F$7$^$&$N$rKI$0$?(B +$B$a$K!"%G%#%U%)%k%HCM$N@hF,$K(B @code{iso-8859-1} $B$,CV$+$l$F$$$^$9!#(B +@end quotation + +$B%K%e!<%9%0%k!<%W3,AX$4$H$KM%@h$9$k$Y$-J8;z%;%C%H$,0[$J$k$N$G!"(BGnus $B$G(B +$B$O(B @code{mm-coding-system-priorities} $B$NCM$r3,AX$K$h$C$F@Z$jBX$($kI,MW$,(B +$B$"$k$G$7$g$&!#$=$N$?$a$NNc$G$9(B: + +@c $BM%@h$5$l$k$Y$-J8;z%;%C%H$ND{@5$r4?7^$7$^$9!#(Bde$B!"(Bfr $B$*$h$S(B fj $B$O@5$7$$(B +@c $B$O$:$G$9$,!"$=$l$i0J30$K$D$$$F$OIT3N$+$G$9(B ($B$7$?$,$C$F!"$=$l$i$OC1$J(B +@c $B$kNc$G$9(B): +@lisp +(add-to-list 'gnus-newsgroup-variables 'mm-coding-system-priorities) +(setq gnus-parameters + (nconc + ;; Some charsets are just examples! + '(("^cn\\." ;; Chinese + (mm-coding-system-priorities + '(iso-8859-1 cn-big5 chinese-iso-7bit utf-8))) + ("^cz\\.\\|^pl\\." ;; Central and Eastern European + (mm-coding-system-priorities '(iso-8859-2 utf-8))) + ("^de\\." ;; German language + (mm-coding-system-priorities '(iso-8859-1 iso-8859-15 utf-8))) + ("^fr\\." ;; French + (mm-coding-system-priorities '(iso-8859-15 iso-8859-1 utf-8))) + ("^fj\\." ;; Japanese + (mm-coding-system-priorities + '(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8))) + ("^ru\\." ;; Cyrillic + (mm-coding-system-priorities + '(koi8-r iso-8859-5 iso-8859-1 utf-8)))) + gnus-parameters)) +@end lisp @item mm-content-transfer-encoding-defaults @vindex mm-content-transfer-encoding-defaults -Mapping from @acronym{MIME} types to encoding to use. This variable is usually -used except, e.g., when other requirements force a safer encoding -(digitally signed messages require 7bit encoding). Besides the normal -@acronym{MIME} encodings, @code{qp-or-base64} may be used to indicate that for -each case the most efficient of quoted-printable and base64 should be -used. - -@code{qp-or-base64} has another effect. It will fold long lines so that -MIME parts may not be broken by MTA. So do @code{quoted-printable} and -@code{base64}. - -Note that it affects body encoding only when a part is a raw forwarded -message (which will be made by @code{gnus-summary-mail-forward} with the -arg 2 for example) or is neither the @samp{text/*} type nor the -@samp{message/*} type. Even though in those cases, you can override -this setting on a per-message basis by using the @code{encoding} -@acronym{MML} tag (@pxref{MML Definition}). +@acronym{MIME} $B$N%?%$%W$K3d$jEv$F$k%(%s%3!<%G%#%s%0$G$9!#$3$NJQ?t$O!"Nc(B +$B$($PB>$NMW7o$K$h$C$F$h$j0BA4$J%(%s%3!<%G%#%s%0$,6/@)$5$l$J$$$H$-$K!"DL>o(B +$B;H$o$l$^$9(B ($BEE;R=pL>$5$l$?%a%C%;!<%8$O(B 7bit $B%(%s%3!<%G%#%s%0$rI,MW$H$7$^(B +$B$9(B)$B!#DL>o$N(B @acronym{MIME} $B%(%s%3!<%G%#%s%0$NB>$K!"(B +quoted-printable $B$H(B base64 $B$N$&$A$G:G$b8zN(E*$JJ}$r8D!9$N>l9g$K;H$&$Y$-(B +$B$G$"$k$3$H$r<($9(B @code{qp-or-base64} $B$r;H$&$3$H$b$G$-$^$9(B ($BLu(B +$BCm(B: @code{qp-or-base64} $B$N(B +$BJ}$G%(%s%3!<%I$7$F$_$F!"%5%$%:$,>.$5$/$J$kJ}$r:NMQ$9$k$3$H$G$9(B)$B!#(B + +@code{qp-or-base64} $B$K$O$b$&0l$D$N8z2L$,$"$j$^$9!#$=$l(B +$B$O(B @acronym{MIME} $B$N%Q!<%H$,(B MTA $B$K$h$C$F2u$5$l$J$$$h$&$K$9$k$?$a$K!"D9(B +$B$$9T$r@^$j>v$_$^$9!#(B@code{quoted-printable} $B$H(B @code{base64} $B$b$=$&$G$9!#(B + +$B%Q!<%H$,Aw$5$l$?%a%C%;!<%8(B ($BNc$($P!"0z?t(B +$B$K(B 2 $B$rM?$($?(B @code{gnus-summary-mail-forward} $B$K$h$C$F:n$i$l$k$b$N(B) $B$G(B +$B$"$k$+!"(B@samp{text/*} $B%?%$%W$d(B @samp{message/*} $B$G$O$J$$>l9g$K!"$3$l$,K\(B +$BJ8$N%(%s%3!<%G%#%0$K1F6A$r5Z$\$9$3$H$KCm0U$7$F$/$@$5$$!#$=$l$i$N>l9g$G$5(B +$B$(!"(B@acronym{MML} $B$N(B @code{encoding} $B%?%0$r;H$C$F!"%a%C%;!<%8Kh$K$=(B +$B$l$G;XDj$7$?CM$r$3$NJQ?t$h$jM%@h$5$;$k$3$H$b$G$-$^(B +$B$9(B (@pxref{MML Definition})$B!#(B @item mm-use-ultra-safe-encoding @vindex mm-use-ultra-safe-encoding -When this is non-@code{nil}, it means that textual parts are encoded as -quoted-printable if they contain lines longer than 76 characters or -starting with "From " in the body. Non-7bit encodings (8bit, binary) -are generally disallowed. This reduce the probability that a non-8bit -clean MTA or MDA changes the message. This should never be set -directly, but bound by other functions when necessary (e.g., when -encoding messages that are to be digitally signed). - +$B$3$l$,Hs(B-@code{nil} $B$G$"$k>l9g!"K\J8$K(B 76 $BJ8;z$h$j$bD9$$9T$d(B "From " $B$G(B +$B;O$^$k9T$,$"$C$?$i!"$=$l$i$N%F%-%9%H$N%Q!<%H$O(B quoted-printable $B$G%(%s%3!<(B +$B%I$5$l$^$9!#Hs(B-7bit $B%(%s%3!<%G%#%s%0(B (8bit, $B%P%$%J%j!<(B) $B$O0lHL$KG'$a$i$l(B +$B$F$$$^$;$s!#$3$NJQ?t$r(B @code{nil} $B0J30$NCM$K@_Dj$7$F$*$/$3$H$O!"(B8bit $B$r(B +$BDL$5$J$$(B MTA $B$+(B MDA $B$,%a%C%;!<%8$r2~JQ$7$F$7$^$&3NN($r2<$2$^$9!#$3$l$OD>(B +$B@\$K@_Dj$5$l$k$N$G$O$J$/!"B>$N4X?t$K$h$C$F(B ($BNc$($P!"EE;R=pL>$5$l$k%a%C%;!<(B +$B%8$r%(%s%3!<%I$9$k$H$-$K(B) $BI,MW$K1~$8$FB+G{$5$l$k$Y$-$G$9!#(B @end table @node Charset Translation -@section Charset Translation +@section $BJ8;z%;%C%H$NJQ49(B @cindex charsets -During translation from @acronym{MML} to @acronym{MIME}, for each -@acronym{MIME} part which has been composed inside Emacs, an appropriate -charset has to be chosen. +@acronym{MML} $B$r(B @acronym{MIME} $B$KJQ49$9$k$H$-$K!"(BEmacs $B$NFbIt$G:n$i$l(B +$B$?(B @acronym{MIME} $B%Q!<%H$N$=$l$>$l$K$D$$$F!"E,@Z$JJ8;z%;%C%H$rA*$P$J$1$l(B +$B$P$J$j$^$;$s!#(B @vindex mail-parse-charset -If you are running a non-@sc{mule} Emacs, this process is simple: If the -part contains any non-@acronym{ASCII} (8-bit) characters, the @acronym{MIME} charset -given by @code{mail-parse-charset} (a symbol) is used. (Never set this -variable directly, though. If you want to change the default charset, -please consult the documentation of the package which you use to process -@acronym{MIME} messages. -@xref{Various Message Variables, , Various Message Variables, message, - Message Manual}, for example.) -If there are only @acronym{ASCII} characters, the @acronym{MIME} charset US-ASCII is -used, of course. +@sc{mule} $B5!G=$,L5$$(B Emacs $B$rAv$i$;$F$$$k>l9g$@$C$?$i!"$3$N=hM}$OC1=c$G(B +$B$9!#%Q!<%H$,$I$s$JHs(B-@acronym{ASCII} (8-bit) $BJ8;z$r4^$s$G$$$F$b!"(B +@code{mail-parse-charset} $B$GM?$($i$l$k(B @acronym{MIME} $BJ8;z%;%C%H(B ($B%7%s%\(B +$B%k(B) $B$r;H$($PNI$$$N$G$9!#(B($B$b$C$H$b!"$3$NJQ?t$rD>@\$K@_Dj$7$J$$$G$/$@$5$$!#(B +$B%G%#%U%)%k%H$NJ8;z%;%C%H$rJQ99$7$?$$>l9g$O!"(B@acronym{MIME} $B%a%C%;!<%8$r(B +$B=hM}$9$k$?$a$K;H$&%Q%C%1!<%8$N@bL@=q$rD4$Y$F$/$@$5$$!#Nc$($P(B: +@pxref{Various Message Variables, ,$B$$$m$$$m$J%a%C%;!<%8JQ?t(B, message-ja, +The Message Manual})$B!#(B@acronym{ASCII} $BJ8;z%;%C%H$7$+L5$1$l$P!"(B +US-ASCII $B$,(B @acronym{MIME} $BJ8;z%;%C%H$H$7$F;H$o$l$k$N$O$b$A$m$s$G$9!#(B @cindex MULE @cindex UTF-8 @cindex Unicode @vindex mm-mime-mule-charset-alist -Things are slightly more complicated when running Emacs with @sc{mule} -support. In this case, a list of the @sc{mule} charsets used in the -part is obtained, and the @sc{mule} charsets are translated to @acronym{MIME} -charsets by consulting the variable @code{mm-mime-mule-charset-alist}. -If this results in a single @acronym{MIME} charset, this is used to encode -the part. But if the resulting list of @acronym{MIME} charsets contains more -than one element, two things can happen: If it is possible to encode the -part via UTF-8, this charset is used. (For this, Emacs must support -the @code{utf-8} coding system, and the part must consist entirely of -characters which have Unicode counterparts.) If UTF-8 is not available -for some reason, the part is split into several ones, so that each one -can be encoded with a single @acronym{MIME} charset. The part can only be -split at line boundaries, though---if more than one @acronym{MIME} charset is -required to encode a single line, it is not possible to encode the part. - -When running Emacs with @sc{mule} support, the preferences for which -coding system to use is inherited from Emacs itself. This means that -if Emacs is set up to prefer UTF-8, it will be used when encoding -messages. You can modify this by altering the -@code{mm-coding-system-priorities} variable though (@pxref{Encoding -Customization}). - -The charset to be used can be overridden by setting the @code{charset} -@acronym{MML} tag (@pxref{MML Definition}) when composing the message. - -The encoding of characters (quoted-printable, 8bit etc) is orthogonal -to the discussion here, and is controlled by the variables -@code{mm-body-charset-encoding-alist} and -@code{mm-content-transfer-encoding-defaults} (@pxref{Encoding -Customization}). +@sc{mule} $B5!G=$rHw$($?(B Emacs $B$rAv$i$;$F$$$k>l9g$O!"$b$N$4$H$OB?>/J#;($K(B +$B$J$j$^$9!#$3$N>l9g$O!"%Q!<%H$G;H$o$l$F$$$k(B @sc{mule} $BJ8;z%;%C%H$N%j%9%H(B +$B$re$NMWAG(B +$B$r4^$s$G$$$k>l9g$K$O!"Fs$D$N$3$H$,5/$3$jF@$^$9!#$b$7%Q!<%H$r(B UTF-8 $B$G%((B +$B%s%3!<%I$9$k$3$H$,2DG=$@$C$?$i!"$=$NJ8;z%;%C%H$r;H$$$^$9!#(B($B$3$N$?$a(B +$B$K(B Emacs $B$O(B @code{utf-8} coding system $B$r%5%]!<%H$7$F$$$J$1$l$P$J$j$^$;(B +$B$s!#$^$?!"$=$N%Q!<%H$r9=@.$9$k$9$Y$F$NJ8;z$KBP1~$9$k$b$N$,!"(BUnicode $B$NDj(B +$B5A$KB8:_$7$F$$$J$1$l$P$J$j$^$;$s!#(B) $B2?$i$+$NM}M3$K$h$C$F(B UTF-8 $B$rMxMQ$G(B +$B$-$J$$>l9g!"$=$N%Q!<%H$O!"$=$l$>$l$,C10l$N(B @acronym{MIME} $BJ8;z%;%C%H$G%((B +$B%s%3!<%I$9$k$3$H$,$G$-$k$h$&$K!"$$$/$D$+$KJ,3d$5$l$^$9!#$b$C$H$b!"%Q!<%H(B +$B$O9T$N6-3&$G$7$+J,3d$9$k$3$H$,$G$-$J$$$N$G!"C10l$N9T$r%(%s%3!<%I$9$k$?$a(B +$B$KJ#?t$N(B @acronym{MIME} $BJ8;z%;%C%H$,I,MW$@$H$9$k$H!"$=$N%Q!<%H$r%(%s%3!<(B +$B%I$9$k$3$H$OIT2DG=$G$9!#(B + +@sc{mule} $B5!G=$rHw$($?(B Emacs $B$rAv$i$;$F$$$k>l9g!"$I$N(B coding system $B$r;H(B +$B$&$+$NM%@h=g0L$O(B Emacs $B<+?H$+$i7Q>5$5$l$^$9!#$3$l$O!"$b(B +$B$7(B Emacs $B$,(B UTF-8 $B$rM%@h$9$k$h$&$K@_Dj$5$l$F$$$k$H!"$=$l$,%a%C%;!<%8$N%((B +$B%s%3!<%I$K;H$o$l$k$H$$$&$3$H$G$9!#$?$@(B +$B$7(B @code{mm-coding-system-priorities} $BJQ?t$NCM$rJQ$($k$3$H$K$h$C$F!"$3$l(B +$B$rJQ99$9$k$3$H$O$G$-$^$9(B (@pxref{Encoding Customization})$B!#(B + +$B%a%C%;!<%8$r:n@.$9$k$H$-$K(B @acronym{MML} $B$N(B @code{charset} $B%?%0$r@_Dj$9(B +$B$k$3$H$K$h$C$F!";H$o$l$kJ8;z%;%C%H$r$=$l$K$9$k$3$H$,$G$-$^$9!#(B + +$BJ8;zNs$N%(%s%3!<%G%#%s%0(B (quoted-printable, 8bit $B$J$I(B) $B$O$3$3$G$N5DO@$H(B +$BD>8r$9$k35G0$G$9!#$=$l$O(B @code{mm-body-charset-encoding-alist} $BJQ?t(B +$B$H(B @code{mm-content-transfer-encoding-defaults} $BJQ?t$K$h$C$F@)8f$5$l$^(B +$B$9(B (@pxref{Encoding Customization})$B!#(B @node Conversion -@section Conversion +@section $BJQ49(B @findex mime-to-mml -A (multipart) @acronym{MIME} message can be converted to @acronym{MML} -with the @code{mime-to-mml} function. It works on the message in the -current buffer, and substitutes @acronym{MML} markup for @acronym{MIME} -boundaries. Non-textual parts do not have their contents in the buffer, -but instead have the contents in separate buffers that are referred to -from the @acronym{MML} tags. +@code{mime-to-mml} $B4X?t$r;H$C$F(B @acronym{MIME} $B%a%C%;!<%8(B ($B%^%k%A%Q!<%H(B +$B$G$b2D(B) $B$r(B @acronym{MML} $B$KJQ49$9$k$3$H$,$G$-$^$9!#$3$l$O8=:_$N%P%C%U%!!<(B +$B$K$"$k(B @acronym{MIME} $B%a%C%;!<%8$K:nMQ$7$F!"(B@acronym{MIME} $B$N6-3&(B +$B$r(B @acronym{MML} $B$N0uIU$1(B (markup) $B$GCV$-49$($^$9!#%F%-%9%H$G$O$J$$%Q!<(B +$B%H$NFbMFJ*$O!"$=$N%P%C%U%!!<$KCV$+$l$kBe$o$j$K(B @acronym{MML} $B%?%0$r2p$7(B +$B$F;2>H$5$l$kJL$N%P%C%U%!!<$KCV$+$l$^$9!#(B @findex mml-to-mime -An @acronym{MML} message can be converted back to @acronym{MIME} by the -@code{mml-to-mime} function. - -These functions are in certain senses ``lossy''---you will not get back -an identical message if you run @code{mime-to-mml} and then -@code{mml-to-mime}. Not only will trivial things like the order of the -headers differ, but the contents of the headers may also be different. -For instance, the original message may use base64 encoding on text, -while @code{mml-to-mime} may decide to use quoted-printable encoding, and -so on. +@code{mml-to-mime} $B4X?t$r;H$C$F!"5U$K(B @acronym{MML} $B%a%C%;!<%8(B +$B$r(B @acronym{MIME} $B$KJQ49$9$k$3$H$,$G$-$^$9!#(B -In essence, however, these two functions should be the inverse of each -other. The resulting contents of the message should remain equivalent, -if not identical. +$B$3$l$i$N4X?t$,9T$J$&$3$H$O$"$k0UL#$G!VIT2D5U!W(B(lossy) $B$G$9!#(B +@code{mime-to-mml} $B$r$l$N%X%C%@!<$NFbMF$bJQ2=$7$F$7(B +$B$^$&$+$b$7$l$^$;$s!#Nc$($P!"85$N%a%C%;!<%8$,(B base64 $B$G%F%-%9%H$r%(%s%3!<(B +$B%I$7$F$"$C$F$b!"(B@code{mml-to-mime} $B$O(B quoted-printable $B$r;H$&$+$b$7$l$J(B +$B$$!"$H$$$&$h$&$J$3$H$G$9!#(B +$B$7$+$7K\* ?}) are respected. The variable -controls how the text will look in a client that does not support -flowed text, the default is to wrap after 66 characters. If hard -newline characters are not present in the buffer, no flow encoding -occurs. - -On decoding flowed text, lines with soft newline characters are filled -together and wrapped after the column decided by -@code{fill-flowed-display-column}. The default is to wrap after -@code{fill-column}. +Emacs @acronym{MIME} $B%i%$%V%i%j!<$O!"%a%C%;!<%8$r%(%s%3!<%I$9$k$H$-(B +$B$O(B @code{use-hard-newlines} $BJQ?t(B (@pxref{Hard and Soft Newlines, ,Hard +and Soft Newlines, emacs, Emacs Manual}) $B$K=>$$!"%a%C%;!<%8$r%G%3!<%I$9(B +$B$k$H$-$O(B Content-Type $B%Q%i%a!<%?!<$N!H(Bformat=flowed$B!I$rB:=E$7$^$9!#(B + +$B%F%-%9%H$r%(%s%3!<%I$9$k$H$-!"%=%U%H2~9TJ8;z$G=*C<$5$l$F$$$k3F9T(B +$B$O!"(B@code{use-hard-newlines} $B$K4X$o$i$:(B +$B$K(B @code{fill-flowed-encode-column} $B$G7hDj$5$l$k7e$N8e$m$G@^$j>v$^$l$F!"(B +$B<*$rB7$($i$l(B (filled $B$5$l(B) $B$^$9!#0zMQ$N0u(B (@samp{^>* ?}) $B$OB:=E$5$l$^$9!#(B +$B$=$NJQ?t$O!"N.F0%F%-%9%H$r%5%]!<%H$7$J$$%/%i%$%"%s%H$K$*$1$k%F%-%9%H$N8+(B +$B$(J}$r@)8f$7!"%G%#%U%)%k%H$G$O(B 66$BJ8;z$N8e$m$G@^$j>v$_$^$9!#%P%C%U%!!<$K(B +$B%O!<%I2~9TJ8;z$,L5$1$l$P!"N.F0(B (flowed) $B%F%-%9%H$N$?$a$N%(%s%3!<%I$O9T$J(B +$B$$$^$;$s!#(B + +$B%P%C%U%!!<$K2~9TJ8;z$,$"$k$H$-!"N.F0%F%-%9%H$K%(%s%3!<%I$9$k$3$H$rM-8z$^(B +$B$?$OL58z$K$9$k$?$a$K(B @code{mml-enable-flowed} $BJQ?t$r%+%9%?%^%$%:$G$-$^$9!#(B + +$BN.F0(B (flowed) $B%F%-%9%H$r%G%3!<%I$9$k$H$-!"%=%U%H2~9TJ8;z$r;}$D3F9T(B +$B$O(B @code{fill-flowed-display-column} $B$G7hDj$5$l$k7e$N8e$m$G@^$j>v$^$l$F(B +$B<*$rB7$($i$l(B (filled $B$5$l(B) $B$^$9!#%G%#%U%)%k%H$G$O(B @code{fill-column} $B$N(B +$B8e$m$G@^$j>v$_$^$9!#(B @table @code @item mm-fill-flowed @vindex mm-fill-flowed -If non-@code{nil} a format=flowed article will be displayed flowed. +$BHs(B-@code{nil} $B$@$C$?$i!"(Bformat=flowed $B$N5-;v$ON.F0E*$KI=<($5$l$^$9!#(B @end table - @node Interface Functions -@chapter Interface Functions +@chapter $B%$%s%?!<%U%'!<%94X?t(B @cindex interface functions @cindex mail-parse -The @code{mail-parse} library is an abstraction over the actual -low-level libraries that are described in the next chapter. - -Standards change, and so programs have to change to fit in the new -mold. For instance, RFC2045 describes a syntax for the -@code{Content-Type} header that only allows @acronym{ASCII} characters in the -parameter list. RFC2231 expands on RFC2045 syntax to provide a scheme -for continuation headers and non-@acronym{ASCII} characters. - -The traditional way to deal with this is just to update the library -functions to parse the new syntax. However, this is sometimes the wrong -thing to do. In some instances it may be vital to be able to understand -both the old syntax as well as the new syntax, and if there is only one -library, one must choose between the old version of the library and the -new version of the library. - -The Emacs @acronym{MIME} library takes a different tack. It defines a -series of low-level libraries (@file{rfc2047.el}, @file{rfc2231.el} -and so on) that parses strictly according to the corresponding -standard. However, normal programs would not use the functions -provided by these libraries directly, but instead use the functions -provided by the @code{mail-parse} library. The functions in this -library are just aliases to the corresponding functions in the latest -low-level libraries. Using this scheme, programs get a consistent -interface they can use, and library developers are free to create -write code that handles new standards. - -The following functions are defined by this library: +@code{mail-parse} $B%i%$%V%i%j!<$O!"O$G=R$Y$k]2=$7$?$b$N$G$9!#(B + +$BI8=`$OJQ2=$9$k$N$G!"%W%m%0%i%`$b?7$7$$Cr7?$KE,9g$9$k$?$a$KJQ2=$7$J$1$l$P(B +$B$J$j$^$;$s!#Nc$($P(B RFC2045 $B$O!"%Q%i%a!<%?!<$N%j%9%H$K$*$$(B +$B$F(B @acronym{ASCII} $BJ8;z$@$1$r5vMF$9$k(B @code{Content-Type} $B%X%C%@!<$N$?$a(B +$B$N9=J8$K$D$$$F=R$Y$F$$$^$9!#(BRFC2231 $B$O!"J#?t9T$KEO$C$F7QB3$9$kC10l$N%X%C(B +$B%@!<$HHs(B-@acronym{ASCII} $BJ8;z$N9=@.$r5,Dj$9$k$?$a$N(B RFC2045 $B$N9=J8$K$D$$(B +$B$F>\$7$/5-=R$7$F$$$^$9!#(B + +$B$3$l$KBP=h$9$k=>Mh$NJ}K!$O!"C1$K?7$7$$9=J8$r2r@O$9$k$?$a$K%i%$%V%i%j!<$N(B +$B4X?t$r99?7$9$k$3$H$G$7$?!#$7$+$7$J$,$i!"$3$l$O;~$K$O8m$C$?9T0Y$G$9!#>l9g(B +$B$K$h$C$F$O!"?7$7$$9=J8$H8E$$9=J8$NN>J}$rM}2r$G$-$k$h$&$K$9$k$3$H$,=EMW$+(B +$B$b$7$l$J$$$7!"%i%$%V%i%j!<$,0l$D$7$+L5$$>l9g$K$O!"%i%$%V%i%j!<$N8E$$%P!<(B +$B%8%g%s$H?7$7$$%P!<%8%g%s$N$I$A$i$+$rA*$P$J$1$l$P$J$j$^$;$s!#(B + +Emacs @acronym{MIME} $B%i%$%V%i%j!<$O0[$J$kJ}?K$G9T$/$3$H$K$7$^$7$?!#$3$l(B +$B$O!"BP1~$9$kI8=`$K=>$C$F87L)$K2r@O$9$k0lO"$NDc%l%Y%k$N%i%$%V%i(B +$B%j!<(B (@file{rfc2047.el}, @file{rfc2231.el} $B$J$I(B) $B$rDj5A$7$^$9!#$H$O8@$(!"(B +$B@55,$N%W%m%0%i%`$O!"$3$l$i$N%i%$%V%i%j!<$,D>@\$KDs6!$9$k4X?t$G$O$J$/!"Be(B +$B$o$j$K(B @code{mail-parse} $B%i%$%V%i%j!<$,Ds6!$9$k4X?t$r;H$&$Y$-$G$9!#$3$N(B +$B%i%$%V%i%j!<$K$"$k4X?t$O!":G?7$NDc%l%Y%k$N%i%$%V%i%j!<$N!"BP1~$9$k4X?t$X(B +$B$NC1$J$kJLL>$G$9!#$3$N9=@.$r;H$&$3$H$K$h$C$F!"%W%m%0%i%`$O$=$l$i$,;H$&$3(B +$B$H$,$G$-$ke5-$N4X?t$HF1$87A<0$N%j(B +$B%9%H$rJV$7$^$9!#(B @item mail-content-type-get @findex mail-content-type-get -Takes two parameters---a list on the format above, and an attribute. -Returns the value of the attribute. +$B>e5-$N7A<0$N%j%9%H$HB0@-$NFs$D$N%Q%i%a!<%?!<$re$N6uGrJ8;z$N$3$H$G!"$=$NA0$K2~9T(B +$BJ8;z$rCV$$$?$b$N$O!"D9$$%X%C%@!<$r@^$j>v$`$H$-$K;H$o$l$^$9!#(B @example (mail-header-remove-whitespace @@ -1076,7 +1199,7 @@ and comments is preserved. @item mail-header-get-comment @findex mail-header-get-comment -Return the last comment in a header. +$B%X%C%@!<$N:G8e$N%3%a%s%H$rJV$7$^$9!#(B @example (mail-header-get-comment @@ -1084,10 +1207,13 @@ Return the last comment in a header. @result{} "Finnish Landrace" @end example +$BLuCm(B: @samp{Finnish Landrace} $B$O(B 1998$BG/(B8$B7n(B23$BF|$K%j%j!<%9$5$l$?(B XEmacs +21.0-pre11 $B$N%3!<%I%M!<%`$G$9!#$^$"!"$I$&$G$b$$$$$3$H$G$9$,!#(B + @item mail-header-parse-address @findex mail-header-parse-address -Parse an address and return a list containing the mailbox and the -plaintext name. +$B%"%I%l%9$r2r@O$7$F!"%a!<%k%"%I%l%9$H%W%l!<%s%F%-%9%H$NL>A0$r4^$`%j%9%H$r(B +$BJV$7$^$9!#(B @example (mail-header-parse-address @@ -1097,8 +1223,8 @@ plaintext name. @item mail-header-parse-addresses @findex mail-header-parse-addresses -Parse a string with list of addresses and return a list of elements like -the one described above. +$B%"%I%l%9$N%j%9%H$r4^$s$G$$$kJ8;zNs$r2r@O$7$F!">e$G=R$Y$?$h$&$JMWAG$N%j%9(B +$B%H$rJV$7$^$9!#(B @example (mail-header-parse-addresses @@ -1109,124 +1235,123 @@ the one described above. @item mail-header-parse-date @findex mail-header-parse-date -Parse a date string and return an Emacs time structure. +$BF|IU$NJ8;zNs$r2r@O$7$F!"(BEmacs $B7A<0$N;~9o$rJV$7$^$9!#(B @item mail-narrow-to-head @findex mail-narrow-to-head -Narrow the buffer to the header section of the buffer. Point is placed -at the beginning of the narrowed buffer. +$B%P%C%U%!!<$r%X%C%@!<$N6h0h$K69$a$^$9!#%]%$%s%H$O69$a$i$l$?%P%C%U%!!<$N@h(B +$BF,$KCV$+$l$^$9!#(B @item mail-header-narrow-to-field @findex mail-header-narrow-to-field -Narrow the buffer to the header under point. Understands continuation -headers. +$B%P%C%U%!!<$r8=:_0LCV$N(B ($BC10l$N(B) $B%X%C%@!<$K69$a$^$9!#J#?t9T$KEO$C$F7QB3$9(B +$B$k%X%C%@!<$rM}2r$7$^$9!#(B @item mail-header-fold-field @findex mail-header-fold-field -Fold the header under point. +$B8=:_0LCV$N%X%C%@!<$r@^$j>v$_$^$9!#(B @item mail-header-unfold-field @findex mail-header-unfold-field -Unfold the header under point. +$B8=:_0LCV$N%X%C%@!<$N@^$j>v$_$r2r=|$7$^$9!#(B @item mail-header-field-value @findex mail-header-field-value -Return the value of the field under point. +$B8=:_0LCV$N%U%#!<%k%I$NCM$rJV$7$^$9!#(B @item mail-encode-encoded-word-region @findex mail-encode-encoded-word-region -Encode the non-@acronym{ASCII} words in the region. For instance, -@samp{Na@"{@dotless{i}}ve} is encoded as @samp{=?iso-8859-1?q?Na=EFve?=}. +$BNN0h$K$"$k(B @acronym{ASCII} $B0J30$N8l$r%(%s%3!<%I$7$^$9!#Nc$((B +$B$P(B @samp{Na,Ao(Bve} $B$O(B @samp{=?iso-8859-1?Q?Na=EFve?=} $B$H$7$F%(%s%3!<%I$5$l(B +$B$^$9!#(B @item mail-encode-encoded-word-buffer @findex mail-encode-encoded-word-buffer -Encode the non-@acronym{ASCII} words in the current buffer. This function is -meant to be called narrowed to the headers of a message. +$B8=:_$N%P%C%U%!!<$K$"$k(B @acronym{ASCII} $B0J30$N8l$r%(%s%3!<%I$7$^$9!#$3$N(B +$B4X?t$O!"%X%C%@!<$N6h0h$K69$a$i$l$?%a%C%;!<%8$G8F$P$l$k$3$H$r0U?^$7$F$$$^(B +$B$9!#(B @item mail-encode-encoded-word-string @findex mail-encode-encoded-word-string -Encode the words that need encoding in a string, and return the result. +$BJ8;zNs$K4^$^$l$F$$$k%(%s%3!<%I$9$kI,MW$,$"$k8l$r%(%s%3!<%I$7$F!"7k2L$rJV(B +$B$7$^$9!#(B @example (mail-encode-encoded-word-string - "This is na@"{@dotless{i}}ve, baby") -@result{} "This is =?iso-8859-1?q?na=EFve,?= baby" + "This is na,Ao(Bve, baby") +@result{} "This is =?iso-8859-1?Q?na=EFve,?= baby" @end example @item mail-decode-encoded-word-region @findex mail-decode-encoded-word-region -Decode the encoded words in the region. +$BNN0h$K$"$k%(%s%3!<%I$5$l$?8l$r%G%3!<%I$7$^$9!#(B @item mail-decode-encoded-word-string @findex mail-decode-encoded-word-string -Decode the encoded words in the string and return the result. +$BJ8;zNs$K4^$^$l$F$$$k%(%s%3!<%I$5$l$?8l$r%G%3!<%I$7$F!"7k2L$rJV$7$^$9!#(B @example (mail-decode-encoded-word-string - "This is =?iso-8859-1?q?na=EFve,?= baby") -@result{} "This is na@"{@dotless{i}}ve, baby" + "This is =?iso-8859-1?Q?na=EFve,?= baby") +@result{} "This is na,Ao(Bve, baby" @end example - @end table -Currently, @code{mail-parse} is an abstraction over @code{ietf-drums}, -@code{rfc2047}, @code{rfc2045} and @code{rfc2231}. These are documented -in the subsequent sections. - - +$B8=:_(B @code{mail-parse} $B$O(B @code{ietf-drums}, @code{rfc2047}, +@code{rfc2045} $B$*$h$S(B @code{rfc2231} $B$rLVMe$7$FCj>]2=$7$^$9!#$3$l$i$K$D(B +$B$$$F!"O$G@bL@$7$^$9!#(B @node Basic Functions -@chapter Basic Functions +@chapter $B4pK\E*$J4X?t(B -This chapter describes the basic, ground-level functions for parsing and -handling. Covered here is parsing @code{From} lines, removing comments -from header lines, decoding encoded words, parsing date headers and so -on. High-level functionality is dealt with in the next chapter -(@pxref{Decoding and Viewing}). +$B$3$N>O$O!"2<0L$N3,AX$K0LCV$7$F$$$F!"2r@O$H=hM}$r9T$J$&$?$a$N4pK\E*$J4X?t(B +$B$K$D$$$F@bL@$7$^$9!#$3$3$G07$&$3$H$O(B @code{From} $B9T$N2r@O!"%X%C%@!<$N3F(B +$B9T$K$"$k%3%a%s%H$N:o=|!"%(%s%3!<%I$5$l$?8l$N%G%3!<%I!";~9o%X%C%@!<$N2r@O(B +$B$J$I$G$9!#>e0L3,AX$N5!G=$O:G=i$N>O(B (@pxref{Decoding and Viewing}) $B$G07$o(B +$B$l$F$$$^$9!#(B @menu -* rfc2045:: Encoding @code{Content-Type} headers. -* rfc2231:: Parsing @code{Content-Type} headers. -* ietf-drums:: Handling mail headers defined by RFC822bis. -* rfc2047:: En/decoding encoded words in headers. -* time-date:: Functions for parsing dates and manipulating time. -* qp:: Quoted-Printable en/decoding. -* base64:: Base64 en/decoding. -* binhex:: Binhex decoding. -* uudecode:: Uuencode decoding. -* yenc:: Yenc decoding. -* rfc1843:: Decoding HZ-encoded text. -* mailcap:: How parts are displayed is specified by the @file{.mailcap} file +* rfc2045:: @code{Content-Type} $B%X%C%@!<$N%(%s%3!<%I(B +* rfc2231:: @code{Content-Type} $B%X%C%@!<$N2r@O(B +* ietf-drums:: RFC822bis $B$GDj5A$5$l$F$$$k%a!<%k%X%C%@!<$N=hM}(B +* rfc2047:: $B%X%C%@!<$K$"$k8l$N%(%s%3!<%I$H%G%3!<%I(B +* time-date:: $BF|IU$N2r@O$H;~9o$rA`:n$9$k4X?t(B +* qp:: Quoted-Printable $B$N%(%s%3!<%I$H%G%3!<%I(B +* base64:: Base64 $B$N%(%s%3!<%I$H%G%3!<%I(B +* binhex:: Binhex $B$N%G%3!<%I(B +* uudecode:: Uuencode $B$N%G%3!<%I(B +* yenc:: Yenc $B$N%G%3!<%I(B +* rfc1843:: HZ-$B%(%s%3!<%I$5$l$?%F%-%9%H$N%G%3!<%I(B +* mailcap:: $B%Q!<%H$NI=<($N;EJ}$O(B @file{.mailcap} $B%U%!%$%k$KL@5-$5$l$F$$$k(B @end menu +$BLuCm(B: RFC822bis == draft-ietf-drums-msg-fmt-09.txt @node rfc2045 @section rfc2045 -RFC2045 is the ``main'' @acronym{MIME} document, and as such, one would -imagine that there would be a lot to implement. But there isn't, since -most of the implementation details are delegated to the subsequent -RFCs. +RFC2045 $B$O!V\:Y$J.?h$JL>>N$O!V(B@acronym{MIME} $B%Q%i%a!<%?!e5-$N7A<0$N%j%9%H$N0l$D$re$N6uGrJ8;z$N$3$H$G!"$=$NA0$K2~9T(B +$BJ8;z$rCV$$$?$b$N$O!"D9$$%X%C%@!<$r@^$j>v$`$H$-$K;H$o$l$^$9!#(B @item ietf-drums-get-comment @findex ietf-drums-get-comment -Return the last most comment from the string. +$BJ8;zNs$N:G8eHx$K$"$k%3%a%s%H$rJV$7$^$9!#(B @item ietf-drums-parse-address @findex ietf-drums-parse-address -Parse an address string and return a list that contains the mailbox and -the plain text name. +$B%"%I%l%9$NJ8;zNs$r2r@O$7$F!"%a!<%k%"%I%l%9$H%W%l!<%s%F%-%9%H$NL>A0$r4^$`(B +$B%j%9%H$rJV$7$^$9!#(B @item ietf-drums-parse-addresses @findex ietf-drums-parse-addresses -Parse a string that contains any number of comma-separated addresses and -return a list that contains mailbox/plain text pairs. +$B%+%s%^$G6h@Z$i$l$?J#?t$N%"%I%l%9$r4^$s$G$$$kJ8;zNs$r2r@O$7$F!"%a!<%k%"%I(B +$B%l%9$H%W%l!<%s%F%-%9%H$NBP$r4^$`%j%9%H$rJV$7$^$9!#(B @item ietf-drums-parse-date @findex ietf-drums-parse-date -Parse a date string and return an Emacs time structure. +$BF|IU$NJ8;zNs$r2r@O$7$F!"(BEmacs $B7A<0$N;~9o$rJV$7$^$9!#(B @item ietf-drums-narrow-to-header @findex ietf-drums-narrow-to-header -Narrow the buffer to the header section of the current buffer. - +$B8=:_$N%P%C%U%!!<$r%X%C%@!<$N6h0h$K69$a$^$9!#(B @end table - @node rfc2047 @section rfc2047 -RFC2047 (Message Header Extensions for Non-@acronym{ASCII} Text) specifies how -non-@acronym{ASCII} text in headers are to be encoded. This is actually rather -complicated, so a number of variables are necessary to tweak what this -library does. +RFC2047 ($B%a%C%;!<%8!&%X%C%@!<$G$NHs(B-@acronym{ASCII} $B%F%-%9%H3HD%(B) $B$O!"%X%C(B +$B%@!<$K$"$kHs(B-@acronym{ASCII} $B%F%-%9%H$r$I$N$h$&$K%(%s%3!<%I$9$k$+$rDj$a(B +$B$F$$$^$9!#/!9J#;($K$J$k$N$G!"$3$N%i%$%V%i%j!<$,9T$J$&$3$H$rD4(B +$B@0$9$k$?$a$K!"B?$/$NJQ?t$,I,MW$G$9!#(B -The following variables are tweakable: +$B0J2<$NJQ?t$,D4@02DG=$G$9(B: @table @code @item rfc2047-header-encoding-alist @vindex rfc2047-header-encoding-alist -This is an alist of header / encoding-type pairs. Its main purpose is -to prevent encoding of certain headers. +$B$3$l$O%X%C%@!<$H%(%s%3!<%G%#%s%0!&%?%$%W$NBP$r<}$a$?O"A[%j%9%H$G$9!#$=$N(B +$Bl9g!"80$KAjEv$9$k%X%C%@!<$O%(%s%3!<%I$5$l$^$;$s!#(B@code{mime} $B$O$=$l$i$r(B +$B%(%s%3!<%I$9$k$3$H$r0UL#$7$^$9$,!"(B@code{address-mime} $B$N>l9g$O%X%C%@!<$,(B +$B%"%I%l%9$r4^$s$G$$$k$3$H$rA[Dj$7$FCm0U?<$/%(%s%3!<%I$7$^$9!#(B @item rfc2047-charset-encoding-alist @vindex rfc2047-charset-encoding-alist -RFC2047 specifies two forms of encoding---@code{Q} (a -Quoted-Printable-like encoding) and @code{B} (base64). This alist -specifies which charset should use which encoding. +RFC2047 $B$OFs$D$N%(%s%3!<%G%#%s%0$N7A<0$rDj$a$F$$$^$9!#0l$D$O(B @code{Q} +(Quoted-Printable $B$N$h$&$J%(%s%3!<%G%#%s%0(B) $B$G!"$b$&0l$D$O(B @code{B} +(base64) $B$G$9!#$3$NO"A[%j%9%H$O!"$"$kJ8;z%;%C%H$KBP$7$F$I$N%(%s%3!<%G%#(B +$B%s%0$r;H$&$+$r5,Dj$7$^$9!#(B @item rfc2047-encode-function-alist @vindex rfc2047-encode-function-alist -This is an alist of encoding / function pairs. The encodings are -@code{Q}, @code{B} and @code{nil}. +$B$3$l$O%(%s%3!<%G%#%s%0$H$=$l$re$OJQ?t$G$7$?!#$C$F%(%s%3!<%I$r9T$J$$$^$9!#(B @item rfc2047-encode-region @findex rfc2047-encode-region -Encodes all encodable words in the region specified. +$B;XDj$5$l$?NN0h$K$"$k$9$Y$F$N%(%s%3!<%I2DG=$J8l$r%(%s%3!<%I$7$^$9!#(B @item rfc2047-encode-string @findex rfc2047-encode-string -Encode a string and return the results. +$BJ8;zNs$r%(%s%3!<%I$7$F7k2L$rJV$7$^$9!#(B @item rfc2047-decode-region @findex rfc2047-decode-region -Decode the encoded words in the region. +$BNN0h$K$"$k%(%s%3!<%I$5$l$?8l$r%G%3!<%I$7$^$9!#(B @item rfc2047-decode-string @findex rfc2047-decode-string -Decode a string and return the results. +$BJ8;zNs$r%G%3!<%I$7$F7k2L$rJV$7$^$9!#(B @item rfc2047-encode-parameter @findex rfc2047-encode-parameter -Encode a parameter in the RFC2047-like style. This is a replacement for -the @code{rfc2231-encode-string} function. @xref{rfc2231}. - -When attaching files as @acronym{MIME} parts, we should use the RFC2231 -encoding to specify the file names containing non-@acronym{ASCII} -characters. However, many mail softwares don't support it in practice -and recipients won't be able to extract files with correct names. -Instead, the RFC2047-like encoding is acceptable generally. This -function provides the very RFC2047-like encoding, resigning to such a -regrettable trend. To use it, put the following line in your -@file{~/.gnus.el} file: - -@lisp -(defalias 'mail-header-encode-parameter 'rfc2047-encode-parameter) -@end lisp - +$B%Q%i%a!<%?!<$r(B RFC2047 $B$U$&$NMM<0$G%(%s%3!<%I$7$^$9!#$3$l$O4X(B +$B?t(B @code{rfc2231-encode-string} $B$NBeMQ$G$9!#$=$l$,I8=`$J$N$G$9$,!"B?$/$N(B +$B%a%$%i!<$,%5%]!<%H$7$^$;$s!#(B@xref{rfc2231}. @end table - @node time-date @section time-date -While not really a part of the @acronym{MIME} library, it is convenient to -document this library here. It deals with parsing @code{Date} headers -and manipulating time. (Not by using tesseracts, though, I'm sorry to -say.) +$BK\Ev$O(B @acronym{MIME} $B%i%$%V%i%j!<$N0lIt$G$O$"$j$^$;$s$,!"$3$3$G@bL@$9$k(B +$B$3$H$OET9g$,NI$$$N$G$9!#$3$l$OF|IU%X%C%@!<$N2r@O$H;~9o$NA`:n$r07$$$^$9!#(B +($B$b$C$H$b;Ml9g$K%<%m;~9o$rJV$7$^$9!#(B -The five data representations used are the following: +$B8^$D$N%G!<%?$O0J2<$N$h$&$KI=8=$5$l$^$9(B: @table @var @item date -An RFC822 (or similar) date string. For instance: @code{"Sat Sep 12 -12:21:54 1998 +0200"}. +RFC822 ($B$^$?$ON`;w$N(B) $B7A<0$NF|IU$NJ8;zNs!#Nc(B: @code{"Sat Sep 12 12:21:54 +1998 +0200"} @item time -An internal Emacs time. For instance: @code{(13818 26466)}. +Emacs $B$NFbIt7A<0$N;~9o!#Nc(B: @code{(13818 26466)} @item seconds -A floating point representation of the internal Emacs time. For -instance: @code{905595714.0}. +Emacs $B$NFbIt7A<0$N;~9o$rIbF0>.?t$GI=$7$?$b$N!#Nc(B: @code{905595714.0} @item days -An integer number representing the number of days since 00000101. For -instance: @code{729644}. +00000101 $B$r4pE@$H$9$k7P2aF|?t$r@0?t$GI=$7$?$b$N!#Nc(B: @code{729644} + +$BLuCm(B: 00000101 $B$,2?$r0UL#$9$k$N$+ITL@$G$9$,!"%=!<%9%3!<%I$K$h$l$P%0%l%4(B +$B%j%*Nr!&5*85A0(B (BC $B$G$O$J$/(B BCE $B$NJ}$N(B) 0001$BG/(B12$B7n(B31$BF|$N$3$H$i$7$$$G$9!#(B @item decoded time -A list of decoded time. For instance: @code{(54 21 12 12 9 1998 6 t -7200)}. +$B%G%3!<%I$5$l$?;~9o$N%j%9%H!#Nc(B: @code{(54 21 12 12 9 1998 6 t 7200)} @end table -All the examples above represent the same moment. +$B>e5-$N$9$Y$F$NNc$O!"F1$8;~$rI=$7$F$$$^$9!#(B -These are the functions available: +$B4X?t$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9(B: @table @code @item date-to-time -Take a date and return a time. +$BF|IU$r/$J$$(B ($B$9$J$o$AAa$$(B) $B$+$I$&$+(B +$B$r<($7$^$9!#(B @item time-since -Take a time and return a time saying how long it was since that time. +$B;~9o$ro$KJN,$G$-$kBh;00z?t(B @var{fold} $B$O!"D9$$9T$r@^$j>v$`$+$I$&$+$r;XDj$7$^$9!#(B +($B$3$3$G!VD9$$!W$O(B 72$B7e$r1[$($k$b$N$N$3$H$r0UL#$7$^$9!#(B) @item quoted-printable-encode-string @findex quoted-printable-encode-string -QP-encode all the encodable characters in a string and return the -results. - +$BJ8;zNs$K4^$^$l$F$$$k$9$Y$F$N%(%s%3!<%I2DG=$JJ8;z$r(B QP-$B%(%s%3!<%I$7$F!"7k(B +$B2L$rJV$7$^$9!#(B @end table - @node base64 @section base64 @cindex base64 -Base64 is an encoding that encodes three bytes into four characters, -thereby increasing the size by about 33%. The alphabet used for -encoding is very resistant to mangling during transit. +Base64 $B$O(B 3-$B%P%$%H$r(B 4-$B%P%$%H$K%(%s%3!<%I$7$^$9!#$=$N$?$a!"Ls(B 33% $B%5%$%:(B +$B$,A}$($^$9!#%"%k%U%!%Y%C%H$@$1$G%(%s%3!<%I$9$k$N$G!"EAAw$5$l$kESCf$G=P2q(B +$B$&$+$b$7$l$J$$>c32$KBP$7$F$H$F$bBQ5WNO$,$"$j$^$9!#(B -The following functions are defined by this library: +$B0J2<$N4X?t$,$3$N%i%$%V%i%j!<$K$h$C$FDj5A$5$l$F$$$^$9(B: @table @code @item base64-encode-region @findex base64-encode-region -base64 encode the selected region. Return the length of the encoded -text. Optional third argument @var{no-line-break} means do not break -long lines into shorter lines. +$BA*Br$5$l$?NN0h$r(B base64 $B$G%(%s%3!<%I$7$F!"%(%s%3!<%I$5$l$?%F%-%9%H$ND9$5(B +$B$rJV$7$^$9!#>JN,$G$-$kBh;00z?t(B @var{no-line-break} $B$O!"D9$$9T$r$h$jC;$$(B +$B9T$K@^$j>v$^$J$$$3$H$r;X?^$7$^$9!#(B @item base64-encode-string @findex base64-encode-string -base64 encode a string and return the result. +$BJ8;zNs$r(B base64 $B$G%(%s%3!<%I$7$F7k2L$rJV$7$^$9!#(B @item base64-decode-region @findex base64-decode-region -base64 decode the selected region. Return the length of the decoded -text. If the region can't be decoded, return @code{nil} and don't -modify the buffer. +$BA*Br$5$l$?NN0h$r(B base64 $B$G%G%3!<%I$7$F!"%G%3!<%I$5$l$?%F%-%9%H$ND9$5$rJV(B +$B$7$^$9!#NN0h$,%G%3!<%I2DG=$G$J$+$C$?$i!"(B@code{nil} $B$rJV$9$@$1$G%P%C%U%!!<(B +$B$OJQ99$7$^$;$s!#(B @item base64-decode-string @findex base64-decode-string -base64 decode a string and return the result. If the string can't be -decoded, @code{nil} is returned. - +$BJ8;zNs$r(B base64 $B$G%G%3!<%I$7$F7k2L$rJV$7$^$9!#J8;zNs$,%G%3!<%I2DG=$G$J$+$C(B +$B$?$i(B @code{nil} $B$rJV$7$^$9!#(B @end table - @node binhex @section binhex @cindex binhex @cindex Apple @cindex Macintosh -@code{binhex} is an encoding that originated in Macintosh environments. -The following function is supplied to deal with these: +@code{binhex} $B$O%^%C%-%s%H%C%7%e$N4D6-$K8;$rH/$9$k%(%s%3!<%G%#%s%0$G$9!#(B +$B0J2<$N4X?t$,$=$l$i$r07$&$?$a$K6!5k$5$l$F$$$^$9(B: @table @code @item binhex-decode-region @findex binhex-decode-region -Decode the encoded text in the region. If given a third parameter, only -decode the @code{binhex} header and return the filename. - +$BNN0h$K$"$k%(%s%3!<%I$5$l$?%F%-%9%H$r%G%3!<%I$7$^$9!#Bh;0%Q%i%a!<%?!<$,M?(B +$B$($i$l$k$H!"(B@code{binhex} $B$N%X%C%@!<$r%G%3!<%I$7$F%U%!%$%kL>$rJV$9$3$H$@(B +$B$1$r$7$^$9!#(B @end table @node uudecode @@ -1635,67 +1753,64 @@ decode the @code{binhex} header and return the filename. @cindex uuencode @cindex uudecode -@code{uuencode} is probably still the most popular encoding of binaries -used on Usenet, although @code{base64} rules the mail world. +@code{base64} $B$,%a!<%k$N@$3&$r;YG[$7$F$$$k$b$N$N!"$*$=$i(B +$B$/(B @code{uuencode} $B$O$^$@(B Usenet $B$G;H$o$l$F$$$k$b$N$NCf$G!":G$bIa5Z$7$F(B +$B$$$k%P%$%J%j!<$N%(%s%3!<%G%#%s%0$G$9!#(B -The following function is supplied by this package: +$B0J2<$N4X?t$,$3$N%Q%C%1!<%8$K$h$C$F6!5k$5$l$F$$$^$9(B: @table @code @item uudecode-decode-region @findex uudecode-decode-region -Decode the text in the region. +$BNN0h$K$"$k%F%-%9%H$r%G%3!<%I$7$^$9!#(B @end table - @node yenc @section yenc @cindex yenc -@code{yenc} is used for encoding binaries on Usenet. The following -function is supplied by this package: +@code{yenc} $B$O(B Usenet $B$G%P%$%J%j!<$r%(%s%3!<%I$9$k$?$a$K;H$o$l$^$9!#0J2<(B +$B$N4X?t$,$3$N%Q%C%1!<%8$K$h$C$F6!5k$5$l$F$$$^$9(B: @table @code @item yenc-decode-region @findex yenc-decode-region -Decode the encoded text in the region. - +$BNN0h$K$"$k%(%s%3!<%I$5$l$?%F%-%9%H$r%G%3!<%I$7$^$9!#(B @end table - @node rfc1843 @section rfc1843 @cindex rfc1843 @cindex HZ @cindex Chinese -RFC1843 deals with mixing Chinese and @acronym{ASCII} characters in messages. In -essence, RFC1843 switches between @acronym{ASCII} and Chinese by doing this: +RFC1843 $B$O%a%C%;!<%8$K$*$1$kCf9q8l$H(B @acronym{ASCII} $BJ8;z$N:.:_J8$r07$$(B +$B$^$9!#K\$C$F!"MM!9$JMWAG$rO$G$O4XO"$9$k$b$N(B +$B$rNs5s$7$^$9!#$3$l$i$O$9$Y$F(B @uref{http://quimby.gnus.org/notes/} $B$+$ipJsDL?.I=8=(B: Content-Disposition $B%X%C%@!<%U%#!<(B +$B%k%I!#(B @item RFC2646 -Documentation of the text/plain format parameter for flowed text. - +$BN.F0%F%-%9%H$N$?$a$N(B text/plain $B=q<0%Q%i%a!<%?!