@menu
* Decoding and Viewing:: \e$B%G%3!<%I$HI=<($N$?$a$NOHAH$_\e(B
* Composing:: @acronym{MML}; @acronym{MIME} \e$B%Q!<%H5-=RMQ8@8l\e(B
-* Interface Functions:: \e$B4pK\E*$J4X?t$K4X$9$kCj>]35G0\e(B
+* Interface Functions:: \e$B4pK\E*$J4X?t$NCj>]2=\e(B
* Basic Functions:: \e$B%f!<%F%#%j%F%#!<$*$h$S4pK\E*$J2r@O$N$?$a$N4X?t\e(B
* Standards:: \e$B;H$o$l$F$$$k\e(B RFC \e$B$H:n6HJ8=q$N35N,\e(B
* Index:: \e$B4X?t$*$h$SJQ?t$N:w0z\e(B
@item mm-handle-disposition
@findex mm-handle-disposition
-\e$B2r@O:Q$_$N!"%Q!<%H$N\e(B @code{Content-Disposition} \e$B$rJV$7$^$9!#\e(B
+\e$B2r@O:Q$_$N!"%Q!<%H$N\e(B @code{Content-Disposition} (\e$BLuCm\e(B: \e$BG[CV;XDj\e(B) \e$B$rJV$7\e(B
+\e$B$^$9!#\e(B
@item mm-get-content-id
@code{Content-ID} \e$B$G;2>H$5$l$k%O%s%I%k\e(B (\e$BC1?t$^$?$OJ#?t\e(B) \e$B$rJV$7$^$9!#\e(B
\e$B$3$l$O!"JL$N5-;v$rA*Br$7$F$b!"30It%S%e!<%o!<$,\e(B kill \e$B$5$l$J$$%a%G%#%"%?%$\e(B
\e$B%W$N%j%9%H$G$9!#\e(B
+@quotation
\e$BLuCm\e(B: postscript \e$B$d\e(B dvi \e$B$J$I\e(B (\e$BJQ?t$N%G%#%U%)%k%HCM$r;2>H$N$3$H\e(B) \e$B$N$h$&$K!"\e(B
\e$BFI$`$N$K;~4V$,$+$+$k$+$b$7$l$J$$%Q!<%H$N%?%$%W$r4^$`%j%9%H$G$9!#0lJ}!"$3\e(B
\e$B$l$K4^$^$l$J$$C1=c$J2hA|$N%Q!<%H$J$I$O!"$=$l$,4^$^$l$F$$$?5-;v$NI=<($r$d\e(B
\e$B$a$?$H$-$K!"<+F0E*$K30It%S%e!<%o!<$,\e(B kill \e$B$5$l$^$9!#\e(B
+@end quotation
@item mm-attachment-override-types
@vindex mm-attachment-override-types
@item mm-file-name-replace-whitespace
@findex mm-file-name-replace-whitespace
@vindex mm-file-name-replace-whitespace
-\e$B6uGrJ8;z$r2<@~\e(B (underscores) \e$B$GCV$-49$($^$9!#2<@~$,$*9%$_$G$J$1$l$P!"B>\e(B
-\e$B$NJ8;z$r\e(B @code{mm-file-name-replace-whitespace} \e$BJQ?t$K@_Dj$7$F2<$5$$!#\e(B
+\e$B6uGrJ8;z$r2<@~\e(B (underscore) \e$B$GCV$-49$($^$9!#2<@~$,$*9%$_$G$J$1$l$P!"B>$N\e(B
+\e$BJ8;z$r\e(B @code{mm-file-name-replace-whitespace} \e$BJQ?t$K@_Dj$7$F2<$5$$!#\e(B
@end table
Emacs \e$BI8=`$N4X?t$G$"$k\e(B @code{capitalize}, @code{downcase},
@cindex MML
@cindex MIME Meta Language
-@acronym{MIME} \e$B%a%C%;!<%8$N:n@.$OB`6~$J;E;v$@$74JC1$G$b$"$j$^$;$s!#$=$3\e(B
-\e$B$G!"\e(B@acronym{MML} (@acronym{MIME} Meta Language) \e$B$H$$$&!"8@8l$r2r@O$7\e(B
-\e$B$F\e(B @acronym{MIME} \e$B%a%C%;!<%8$r@8@.$9$k!"\e(B@code{mml} \e$B$H$$$&%i%$%V%i%j!<$,\e(B
-\e$B:n$i$l$^$7$?!#\e(B
+@acronym{MIME} \e$B%a%C%;!<%8$N:n@.$O$&$s$6$j$9$k;E;v$@$74JC1$G$b$"$j$^$;$s!#\e(B
+\e$B$=$3$G!"\e(B@acronym{MML} (@acronym{MIME} Meta Language) \e$B$H$$$&!"8@8l$r2r@O\e(B
+\e$B$7$F\e(B @acronym{MIME} \e$B%a%C%;!<%8$r@8@.$9$k$?$a$N!"\e(B@code{mml} \e$B$H$$$&%i%$%V\e(B
+\e$B%i%j!<$,:n$i$l$^$7$?!#\e(B
@findex mml-generate-mime
\e$B<gMW$J%$%s%?!<%U%'!<%94X?t$O\e(B @code{mml-generate-mime} \e$B$G$9!#$3$l$O8=:_\e(B
@end menu
@node Simple MML Example
-@section Simple MML Example
+@section \e$BC1=c$J\e(B MML \e$B$NNc\e(B
-Here's a simple @samp{multipart/alternative}:
+@samp{multipart/alternative} \e$B$NC1=c$JNc$G$9\e(B:
@example
<#multipart type=alternative>
This is a plain text part.
+\e$B$3$l$O%W%l!<%s%F%-%9%H$N%Q!<%H$G$9!#\e(B
<#part type=text/enriched>
<center>This is a centered enriched part</center>
+<center>\e$B$3$l$OCf?4$KCV$+$l$k\e(B enriched \e$B%Q!<%H$G$9\e(B</center>
<#/multipart>
@end example
-After running this through @code{mml-generate-mime}, we get this:
+\e$B$3$l$r\e(B @code{mml-generate-mime} \e$B$KDL$9$H!"<!$N$b$N$,F@$i$l$^$9\e(B:
@example
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
-
+Content-Type: text/enriched; charset=iso-2022-jp
<center>This is a centered enriched part</center>
+<center>^[$B$3$l$OCf?4$KCV$+$l$k^[(B enriched ^[$B%Q!<%H$G$9^[(B</center>
--=-=-=--
@end example
+\e$B$o$C!"J8;z2=$1$@\e(B!? \e$B$$$$$(!"$b$H$NJ8$,\e(B @samp{charset=iso-2022-jp} \e$B$G%(%s\e(B
+\e$B%3!<%I$5$l$?$b$N$G$9!#<u?.<T$,8+$k$H$-$K!"E,@Z$K%G%3!<%I$5$l$k$G$7$g$&!#\e(B
@node MML Definition
-@section MML Definition
+@section MML \e$B$NDj5A\e(B
-The @acronym{MML} language is very simple. It looks a bit like an SGML
-application, but it's not.
+@acronym{MML} \e$B8@8l$O$H$F$bC1=c$G$9!#\e(BSGML \e$B%"%W%j%1!<%7%g%s$K>/$7;w$F$$$^\e(B
+\e$B$9$,!"0[$J$k$b$N$G$9!#\e(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} \e$B$N<gMW$J35G0$O\e(B @dfn{\e$B%Q!<%H\e(B} \e$B$G$9!#$=$l$>$l$N%Q!<%H$O0[$J$k\e(B
+\e$B%?%$%W$+0[$J$kJ8;z%;%C%H$N$b$N$G$"$jF@$^$9!#%Q!<%H\e(B
+\e$B$O\e(B @samp{<#part ...>} \e$B%?%0$G5-=R$5$l$^$9!#%^%k%A%Q!<%H7?$N%Q!<%H$G\e(B
+\e$B$O\e(B @samp{<#multipart ...>} \e$B%?%0$,MQ$$$i$l$^$9!#$=$l$>$l$N%Q!<%H\e(B
+\e$B$O\e(B @samp{<#/part>} \e$B%?%0$+\e(B @samp{<#/multipart>} \e$B%?%0$G=*C<$5$l$^$9$,!"$5\e(B
+\e$B$i$K!"\e(B@samp{<#part ...>} \e$B$G;O$^$C$?%?%0$O<!$N%Q!<%H$N;O$^$j$K$h$C$F$bJD\e(B
+\e$B$8$i$l$^$9!#\e(B
-There's also the @samp{<#external ...>} tag. These introduce
-@samp{external/message-body} parts.
+@samp{<#external ...>} \e$B%?%0$H$$$&$b$N$b$"$j$^$9!#$3$l\e(B
+\e$B$O\e(B @samp{external/message-body} \e$B7?$N%Q!<%H$r5-=R$9$k$?$a$K;H$o$l$^$9!#\e(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.
+\e$B$=$l$>$l$N%?%0$O\e(B @samp{parameter=\e$BCM\e(B} \e$B$N7A<0$G%Q%i%a!<%?$r4^$`$3$H$,$G$-\e(B
+\e$B$^$9!#CM$r%/%)!<%F!<%7%g%s%^!<%/\e(B ("...") \e$B$G0O$`$3$H$,$G$-$^$9$,!"CM$,6u\e(B
+\e$BGrJ8;z$r4^$`>l9g0J30$O0O$`I,MW$,$"$j$^$;$s!#$7$?$,$C$F!"\e(B
+@samp{filename=/home/user/#hello$^yes} \e$B$O40A4$KM-8z$G$9!#\e(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.
+\e$B0J2<$N%Q%i%a!<%?$O\e(B @acronym{MML} \e$B$G;H$o$l$^$9!#0UL#$r;}$?$J$$%Q%i%a!<%?\e(B
+\e$B$OL5;k$5$l$^$9!#\e(B@acronym{MML} \e$B%Q%i%a!<%?$NL>A0$O\e(B @acronym{MIME} \e$B%Q%i%a!<\e(B
+\e$B%?$NL>A0$HF1$8$G!"3g8L$NCf$K$"$k$b$N$O!"$=$l$,$I$N%X%C%@!<$NCf$G;H$o$l$k\e(B
+\e$B$+$r@k8@$7$^$9!#\e(B
@table @samp
@item type
-The @acronym{MIME} type of the part (@code{Content-Type}).
+\e$B%Q!<%H$N\e(B @acronym{MIME} \e$B%?%$%W$G$9\e(B (@code{Content-Type})\e$B!#\e(B
@item filename
-Use the contents of the file in the body of the part
-(@code{Content-Disposition}).
+\e$B%Q!<%H$K4^$^$;$k%U%!%$%k$NL>A0$G$9\e(B (@code{Content-Disposition})\e$B!#\e(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}.
+\e$B%Q!<%H$NFbMFJ*$r%(%s%3!<%I$9$k$H$-$K;H$o$l$kJ8;z%;%C%H$G\e(B
+\e$B$9\e(B (@code{Content-Type})\e$B!#\e(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}).
+\e$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\e(B
+\e$B$l$^$;$s\e(B (@code{Content-Type})\e$B!#\e(B
@item disposition
-Valid values are @samp{inline} and @samp{attachment}
-(@code{Content-Disposition}).
+\e$BG[CV;XDj$K;H$$$^$9!#M-8z$JCM$O\e(B @samp{inline} \e$B$H\e(B @samp{attachment} \e$B$G\e(B
+\e$B$9\e(B (@code{Content-Disposition})\e$B!#\e(B
@item encoding
-Valid values are @samp{7bit}, @samp{8bit}, @samp{quoted-printable} and
-@samp{base64} (@code{Content-Transfer-Encoding}). @xref{Charset
+\e$BM-8z$JCM$O\e(B @samp{7bit}, @samp{8bit}, @samp{quoted-printable} \e$B$*$h\e(B
+\e$B$S\e(B @samp{base64} \e$B$G$9\e(B (@code{Content-Transfer-Encoding})\e$B!#\e(B@xref{Charset
Translation}.
@item description
-A description of the part (@code{Content-Description}).
+\e$B%Q!<%H$N@bL@=q$-$G$9\e(B (@code{Content-Description})\e$B!#\e(B
@item creation-date
-RFC822 date when the part was created (@code{Content-Disposition}).
+\e$B%Q!<%H$,:n@.$5$l$?;~9o\e(B (RFC822 \e$B7A<0\e(B) \e$B$G$9\e(B (@code{Content-Disposition})\e$B!#\e(B
@item modification-date
-RFC822 date when the part was modified (@code{Content-Disposition}).
+\e$B%Q!<%H$,JQ99$5$l$?;~9o\e(B (RFC822 \e$B7A<0\e(B) \e$B$G$9\e(B (@code{Content-Disposition})\e$B!#\e(B
@item read-date
-RFC822 date when the part was read (@code{Content-Disposition}).
+\e$B%Q!<%H$,FI$^$l$?;~9o\e(B (RFC822 \e$B7A<0\e(B) \e$B$G$9\e(B (@code{Content-Disposition})\e$B!#\e(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.
+\e$B%Q!<%H$rC/08$F$K0E9f2=\e(B/\e$B=pL>$9$k$+$r;XDj$7$^$9!#$3$l$O\e(B To/CC \e$B$r4p$K$7$?<+\e(B
+\e$BF08!=P$h$j$bM%@h$5$l$^$9!#\e(B
@item sender
-Identity used to sign the part. This field is used to override the
-default key used.
+\e$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\e(B
+\e$B$J$$$h$&$K$9$k$?$a$K;H$o$l$^$9!#\e(B
@item size
-The size (in octets) of the part (@code{Content-Disposition}).
+\e$B%Q!<%H$N%5%$%:$r\e(B octet (8-bit) \e$B$NC10L$GI=$7$^\e(B
+\e$B$9\e(B (@code{Content-Disposition})\e$B!#\e(B
@item sign
-What technology to sign this @acronym{MML} part with (@code{smime}, @code{pgp}
-or @code{pgpmime})
+\e$B$3$N\e(B @acronym{MML} \e$B$N%Q!<%H$K!"2?$N5;=Q<jCJ\e(B (@code{smime}, @code{pgp} \e$B$^\e(B
+\e$B$?$O\e(B @code{pgpmime}) \e$B$G=pL>$9$k$+$r;XDj$7$^$9!#\e(B
@item encrypt
-What technology to encrypt this @acronym{MML} part with (@code{smime},
-@code{pgp} or @code{pgpmime})
-
+\e$B$3$N\e(B @acronym{MML} \e$B$N%Q!<%H$r!"2?$N5;=Q<jCJ\e(B (@code{smime}, @code{pgp} \e$B$^\e(B
+\e$B$?$O\e(B @code{pgpmime}) \e$B$G0E9f2=$9$k$+$r;XDj$7$^$9!#\e(B
@end table
-Parameters for @samp{text/plain}:
+\e$B0J2<$O\e(B @samp{text/plain} \e$B$N$?$a$N%Q%i%a!<%?$G$9\e(B:
@table @samp
@item format
-Formatting parameter for the text, valid values include @samp{fixed}
-(the default) and @samp{flowed}. Normally you do not specify this
-manually, since it requires the textual body to be formatted in a
-special way described in RFC 2646. @xref{Flowed text}.
+\e$B%F%-%9%H$r%U%)!<%^%C%H$9$k%Q%i%a!<%?$G!"M-8z$JCM$O\e(B @samp{fixed} (\e$B%G%#%U%)\e(B
+\e$B%k%H\e(B) \e$B$H\e(B @samp{flowed} \e$B$G$9!#IaDL$O$3$l$r<j$G@_Dj$9$kI,MW$O$"$j$^$;$s!#\e(B
+\e$B$=$l$O!"%F%-%9%H$NK\J8$,!"\e(BRFC 2646 \e$B$GDj$a$i$l$?FCJL$JJ}K!$G%U%)!<%^%C%H\e(B
+\e$B$5$l$k$3$H$rI,MW$H$9$k$+$i$G$9!#\e(B@xref{Flowed text}.
@end table
-Parameters for @samp{application/octet-stream}:
+\e$B0J2<$O\e(B @samp{application/octet-stream} \e$B$N$?$a$N%Q%i%a!<%?$G$9\e(B:
@table @samp
@item type
-Type of the part; informal---meant for human readers
-(@code{Content-Type}).
+\e$B%Q!<%H$N%?%$%W\e(B (\e$B?M4V$,FI$`$3$H$rA[Dj$7$?!"Hs8x<0$J\e(B) \e$B$G\e(B
+\e$B$9\e(B (@code{Content-Type})\e$B!#\e(B
@end table
-Parameters for @samp{message/external-body}:
+\e$B0J2<$O\e(B @samp{message/external-body} \e$B$N$?$a$N%Q%i%a!<%?$G$9\e(B:
@table @samp
@item access-type
-A word indicating the supported access mechanism by which the file may
-be obtained. Values include @samp{ftp}, @samp{anon-ftp}, @samp{tftp},
-@samp{localfile}, and @samp{mailserver}. (@code{Content-Type}.)
+\e$B%U%!%$%k$r<hF@$9$k$?$a$N!"%5%]!<%H$5$l$F$$$k%"%/%;%9<jCJ$r<($98l$G$9!#CM\e(B
+\e$B$O\e(B @samp{ftp}, @samp{anon-ftp}, @samp{tftp}, @samp{localfile} \e$B$*$h\e(B
+\e$B$S\e(B @samp{mailserver} \e$B$N$I$l$+$G$9!#\e(B(@code{Content-Type}.)
@item expiration
-The RFC822 date after which the file may no longer be fetched.
+\e$B%U%!%$%k$,<hF@$G$-$J$/$J$k$+$b$7$l$J$$F|;~\e(B (RFC822 \e$B7A<0\e(B) \e$B$G$9!#\e(B
(@code{Content-Type}.)
@item size
-The size (in octets) of the file. (@code{Content-Type}.)
+Octet (8-bit) \e$B$NC10L$GI=$7$?%U%!%$%k$N%5%$%:$G$9!#\e(B(@code{Content-Type}.)
@item permission
-Valid values are @samp{read} and @samp{read-write}
-(@code{Content-Type}).
-
+\e$BM-8z$JCM$O\e(B @samp{read} \e$B$H\e(B @samp{read-write} \e$B$G$9\e(B (@code{Content-Type})\e$B!#\e(B
@end table
-Parameters for @samp{sign=smime}:
+\e$B0J2<$O\e(B @samp{sign=smime} \e$B$N$?$a$N%Q%i%a!<%?$G$9\e(B:
@table @samp
@item keyfile
-File containing key and certificate for signer.
-
+\e$B=pL>$9$k?M$N>ZL@=q$r4^$s$G$$$k%U%!%$%k$G$9!#\e(B
@end table
-Parameters for @samp{encrypt=smime}:
+\e$B0J2<$O\e(B @samp{encrypt=smime} \e$B$N$?$a$N%Q%i%a!<%?$G$9\e(B:
@table @samp
-
@item certfile
-File containing certificate for recipient.
-
+\e$B<u<h?M$N>ZL@=q$r4^$s$G$$$k%U%!%$%k$G$9!#\e(B
@end table
-
@node Advanced MML Example
-@section Advanced MML Example
+@section \e$B9bEY$J\e(B MML \e$B$NNc\e(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}.
+\e$BJ#;($J%^%k%A%Q!<%H!&%a%C%;!<%8$NNc$G$9!#$3$l$O\e(B @samp{multipart/mixed} \e$B$G\e(B
+\e$B$9!#B??t$N%Q!<%H$r4^$s$G$$$F!"$=$N0l$D$O\e(B @samp{multipart/alternative} \e$B$G\e(B
+\e$B$9!#\e(B
@example
<#multipart type=mixed>
<#part type=image/jpeg filename=~/rms.jpg disposition=inline>
<#multipart type=alternative>
This is a plain text part.
+\e$B$3$l$O%W%l!<%s%F%-%9%H$N%Q!<%H$G$9!#\e(B
<#part type=text/enriched name=enriched.txt>
<center>This is a centered enriched part</center>
+<center>\e$B$3$l$OCf?4$KCV$+$l$k\e(B enriched \e$B%Q!<%H$G$9\e(B</center>
<#/multipart>
This is a new plain text part.
+\e$B$3$l$O?7$7$$%W%l!<%s%F%-%9%H$N%Q!<%H$G$9!#\e(B
<#part disposition=attachment>
This plain text part is an attachment.
+\e$B$3$N%W%l!<%s%F%-%9%H$N%Q!<%H$OE:IU%U%!%$%k$G$9!#\e(B
<#/multipart>
@end example
@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
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
<center>This is a centered enriched part</center>
+<center>^[$B$3$l$OCf?4$KCV$+$l$k^[(B enriched ^[$B%Q!<%H$G$9^[(B</center>
--==-=-=--
--=-=-=
+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
+\e$B$d$d$C!"J8;z2=$1$7$F$k\e(B!? \e$B$$$d!"$b$H$NJ8$,\e(B @samp{charset=iso-2022-jp} \e$B$G\e(B
+\e$B%(%s%3!<%I$5$l$?$@$1$N$3$H$G$9!#<u?.<T$,8+$k$H$-$K!"E,@Z$K%G%3!<%I$5$l$k\e(B
+\e$B$G$7$g$&!#\e(B
+
@node Encoding Customization
-@section Encoding Customization
+@section \e$B%(%s%3!<%G%#%s%0$N%+%9%?%^%$%:\e(B
@table @code
-
@item mm-body-charset-encoding-alist
@vindex mm-body-charset-encoding-alist
-Mapping from @acronym{MIME} charset to encoding to use. This variable is
-usually used except, e.g., when other requirements force a specific
-encoding (digitally signed messages require 7bit encodings). The
-default is
+@acronym{MIME} \e$BJ8;z%;%C%H$K3d$jEv$F$k%(%s%3!<%G%#%s%0$G$9!#$3$NJQ?t$O!"\e(B
+\e$BNc$($PB>$NMW7o$K$h$C$FFCDj$N%(%s%3!<%G%#%s%0$,6/@)$5$l$J$$$H$-$K!"DL>o;H\e(B
+\e$B$o$l$^$9\e(B (\e$BEE;R=pL>$5$l$?%a%C%;!<%8$O\e(B 7bit \e$B%(%s%3!<%G%#%s%0$rI,MW$H$7$^$9\e(B)\e$B!#\e(B
+\e$B%G%#%U%)%k%HCM$O<!$NDL$j$G$9!#\e(B
@lisp
((iso-2022-jp . 7bit)
(utf-16le . base64))
@end lisp
-As an example, if you do not want to have ISO-8859-1 characters
-quoted-printable encoded, you may add @code{(iso-8859-1 . 8bit)} to
-this variable. You can override this setting on a per-message basis
-by using the @code{encoding} @acronym{MML} tag (@pxref{MML Definition}).
+\e$BNc$($P\e(B ISO-8859-1 \e$BJ8;z%;%C%H$,\e(B quoted-printable \e$B$G%(%s%3!<%I$5$l$J$$$h$&\e(B
+\e$B$K$7$?$$>l9g$O!"$3$NJQ?t$K\e(B @code{(iso-8859-1 . 8bit)} \e$B$rDI2C$9$l$PNI$$$G\e(B
+\e$B$7$g$&!#\e(B@acronym{MML} \e$B$N\e(B @code{encoding} \e$B%?%0$r;H$C$F!"%a%C%;!<%8Kh$K$=\e(B
+\e$B$l$r$3$NJQ?t$h$jM%@h$5$;$k$3$H$b$G$-$^$9\e(B (@pxref{MML Definition})\e$B!#\e(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}).
+\e$BAw=P$9$k%a%C%;!<%8$G;H$&\e(B coding system \e$B$NM%@hEY$r;XDj$7$^$9!#%G%#%U%)%k\e(B
+\e$B%HCM$O\e(B @code{nil} \e$B$G!"$=$N>l9g$O\e(B Emacs \e$B$K$*$1$k%G%#%U%)%k%H$NM%@h=g0L$,\e(B
+\e$BE,MQ$5$l$^$9!#CM$O\e(B coding system \e$B$N%7%s%\%k$N%j%9%H$G\e(B
+\e$B$9\e(B (coding system \e$B$NJLL>$r;H$C$F$b9=$$$^$;$s!#@_Dj$9$k$H$-\e(B
+\e$B$O\e(B @kbd{M-x describe-coding-system} \e$B$r;H$C$F!"\e(Bcoding system \e$B$NL>A0$,@53N\e(B
+\e$B$G$"$k$3$H$r3N$+$a$F2<$5$$\e(B)\e$B!#Nc$($P!"\e(BUTF-8 \e$B$r:GM%@h$H$9$k$h$&$K\e(B Emacs \e$B$r\e(B
+\e$B@_Dj$7$?$b$N$N!"2DG=$J>l9g$O\e(B ISO-8859-1 \e$B$G%a%C%;!<%8$rAw?.$9$k$h$&$K$7$?\e(B
+\e$B$$$H$$$&>l9g$@$C$?$i!"$3$NJQ?t$r\e(B @code{(iso-8859-1)} \e$B$K$9$l$PNI$$$G$7$g\e(B
+\e$B$&!#\e(B@acronym{MML} \e$B$N\e(B @code{charset} \e$B%?%0$r;H$C$F!"%a%C%;!<%8Kh$K$=$l$r$3\e(B
+\e$B$NJQ?t$h$jM%@h$5$;$k$3$H$b$G$-$^$9\e(B (@pxref{MML Definition})\e$B!#\e(B
+
+@quotation
+\e$BLuCm\e(B: \e$BF|K\8l4D6-\e(B (@code{current-language-environment} \e$BJQ?t$NCM\e(B
+\e$B$,\e(B @samp{Japanese} \e$B$K$J$C$F$$$k4D6-\e(B) \e$B$G$O!"%G%#%U%)%k%HCM$,\e(B
+@code{(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8)} \e$B$K$J$j$^$9!#\e(B
+\e$BF|K\8l$N%a%C%;!<%8$N%(%s%3!<%I$K$OEAE}E*$K\e(B @code{iso-2022-jp} \e$B$,;H$o$l$F\e(B
+\e$B$$$k$N$KBP$7!"\e(BEmacs \e$B$GDj$a$i$l$?M%@h=g0L$K4p$E$/\e(B
+\e$B$H\e(B @code{euc-jp} \e$B$d\e(B @code{shift_jis} \e$B$J$I$,Bh0l8uJd$K$J$C$F$7$^$&$N$G!"\e(B
+\e$B$3$N$h$&$J@_Dj$,I,MW$J$N$G$9!#\e(B
+
+\e$B$J$*!"%i%F%s8l7w$N?M$?$A$K08$F$F$KAw$k%a%C%;!<%8$,!"H`$i$,%G%3!<%I$G$-$J\e(B
+\e$B$$$+$b$7$l$J$$\e(B @code{iso-2022-jp-2} \e$B$J$I$G%(%s%3!<%I$5$l$F$7$^$&$N$rKI$0\e(B
+\e$B$?$a$K!"%G%#%U%)%k%HCM$N@hF,$K\e(B @code{iso-8859-1} \e$B$,CV$+$l$F$$$^$9!#\e(B
+@end quotation
@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} \e$B$N%?%$%W$K3d$jEv$F$k%(%s%3!<%G%#%s%0$G$9!#$3$NJQ?t$O!"Nc\e(B
+\e$B$($PB>$NMW7o$K$h$C$F$h$j0BA4$J%(%s%3!<%G%#%s%0$,6/@)$5$l$J$$$H$-$K!"DL>o\e(B
+\e$B;H$o$l$^$9\e(B (\e$BEE;R=pL>$5$l$?%a%C%;!<%8$O\e(B 7bit \e$B%(%s%3!<%G%#%s%0$rI,MW$H$7$^\e(B
+\e$B$9\e(B)\e$B!#DL>o$N\e(B @acronym{MIME} \e$B%(%s%3!<%G%#%s%0$NB>$K!"\e(B
+quoted-printable \e$B$H\e(B base64 \e$B$N$&$A$G:G$b8zN(E*$JJ}$r!"8D!9$N>l9g$K;H$&$Y\e(B
+\e$B$-$G$"$k$3$H$r<($9\e(B @code{qp-or-base64} \e$B$r;H$&$3$H$b$G$-$^$9\e(B (\e$BLu\e(B
+\e$BCm\e(B: @code{qp-or-base64} \e$B$N<B:]$NF0:n$O!"\e(Bquoted-printable \e$B$H\e(B base64 \e$B$NN>\e(B
+\e$BJ}$G%(%s%3!<%I$7$F$_$F!"%5%$%:$,>.$5$/$J$kJ}$r:NMQ$9$k$3$H$G$9\e(B)\e$B!#\e(B
+
+@code{qp-or-base64} \e$B$K$O$b$&0l$D$N8z2L$,$"$j$^$9!#$=$l\e(B
+\e$B$O\e(B @acronym{MIME} \e$B$N%Q!<%H$,\e(B MTA \e$B$K$h$C$F2u$5$l$J$$$h$&$K$9$k$?$a$K!"D9\e(B
+\e$B$$9T$r@^$j>v$_$^$9!#\e(B@code{quoted-printable} \e$B$H\e(B @code{base64} \e$B$b$=$&$G$9!#\e(B
+
+\e$B%Q!<%H$,<u?.$7$?$H$-$N$^$^$N@8$NE>Aw$5$l$?%a%C%;!<%8\e(B (\e$BNc$($P!"0z?t\e(B
+\e$B$K\e(B 2 \e$B$rM?$($?\e(B @code{gnus-summary-mail-forward} \e$B$K$h$C$F:n$i$l$k$b$N\e(B) \e$B$G\e(B
+\e$B$"$k$+!"\e(B@samp{text/*} \e$B%?%$%W$d\e(B @samp{message/*} \e$B$G$O$J$$>l9g$K!"$3$l$,K\\e(B
+\e$BJ8$N%(%s%3!<%G%#%0$K1F6A$rM?$($k$3$H$KCm0U$7$F2<$5$$!#$=$l$i$N>l9g$G$5$(!"\e(B
+@acronym{MML} \e$B$N\e(B @code{encoding} \e$B%?%0$r;H$C$F!"%a%C%;!<%8Kh$K$=\e(B
+\e$B$l$r$3$NJQ?t$h$jM%@h$5$;$k$3$H$b$G$-$^$9\e(B (@pxref{MML Definition})\e$B!#\e(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).
-
+\e$B$3$l$,Hs\e(B-@code{nil} \e$B$G$"$k>l9g!"K\J8$K\e(B 76 \e$BJ8;z$h$j$bD9$$9T$d\e(B "From " \e$B$G\e(B
+\e$B;O$^$k9T$,$"$C$?$i!"$=$l$i$N%F%-%9%H$N%Q!<%H$O\e(B quoted-printable \e$B$G%(%s%3!<\e(B
+\e$B%I$5$l$^$9!#Hs\e(B-7bit \e$B%(%s%3!<%G%#%s%0\e(B (8bit, \e$B%P%$%J%j!<\e(B) \e$B$O0lHL$KG'$a$i$l\e(B
+\e$B$F$$$^$;$s!#$3$l$O\e(B 8bit \e$B$rDL$5$J$$\e(B MTA \e$B$+\e(B MDA \e$B$,%a%C%;!<%8$r2~JQ$7$F$7$^\e(B
+\e$B$&3NN($r2<$2$^$9!#$3$l$OD>@\$K@_Dj$5$l$k$N$G$O$J$/!"B>$N4X?t$K$h$C$F\e(B (\e$BNc\e(B
+\e$B$($P!"EE;R=pL>$5$l$k%a%C%;!<%8$r%(%s%3!<%I$9$k$H$-$K\e(B) \e$BI,MW$K1~$8$FB+G{$5\e(B
+\e$B$l$k$Y$-$G$9!#\e(B
@end table
@node Charset Translation
-@section Charset Translation
+@section \e$BJ8;z%;%C%H$NJQ49\e(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} \e$B$r\e(B @acronym{MIME} \e$B$KJQ49$9$k$H$-$K!"\e(BEmacs \e$B$NFbIt$G:n$i$l\e(B
+\e$B$k\e(B @acronym{MIME} \e$B%Q!<%H$N$=$l$>$l$K$D$$$F!"E,@Z$JJ8;z%;%C%H$rA*$P$J$1$l\e(B
+\e$B$P$J$j$^$;$s!#\e(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.
+\e$B$b$7Hs\e(B-@sc{mule} \e$B$N\e(B Emacs \e$B$rAv$i$;$F$$$k$N$G$"$l$P!"$3$N=hM}$OC1=c$G$9!#\e(B
+\e$B%Q!<%H$,$I$s$JHs\e(B-@acronym{ASCII} (8-bit) \e$BJ8;z$r4^$s$G$$$F$b!"\e(B
+@code{mail-parse-charset} (\e$B%7%s%\%k\e(B) \e$B$GM?$($i$l$k\e(B @acronym{MIME} \e$BJ8;z%;%C\e(B
+\e$B%H$r;H$($PNI$$$N$G$9!#\e(B(\e$B$b$C$H$b!"$3$NJQ?t$rD>@\$K@_Dj$7$J$$$G2<$5$$!#%G%#\e(B
+\e$B%U%)%k%H$NJ8;z%;%C%H$rJQ99$7$?$$>l9g$O!"\e(B@acronym{MIME} \e$B%a%C%;!<%8$r=hM}\e(B
+\e$B$9$k$?$a$K;H$&%Q%C%1!<%8$N@bL@=q$rD4$Y$F$/$@$5$$!#Nc$($P\e(B: @pxref{Various
+Message Variables, , Various Message Variables, message-ja, Message
+Manual})\e$B!#\e(B@acronym{ASCII} \e$BJ8;z%;%C%H$7$+L5$1$l$P!"\e(B@acronym{MIME} \e$BJ8;z%;%C\e(B
+\e$B%H\e(B US-ASCII \e$B$,;H$o$l$k$N$O$b$A$m$s$G$9!#\e(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} \e$B5!G=$rHw$($?\e(B Emacs \e$B$rAv$i$;$F$$$k>l9g$O!"$b$N$4$H$OB?>/J#;($K\e(B
+\e$B$J$j$^$9!#$3$N>l9g$O!"%Q!<%H$G;H$o$l$F$$$k\e(B @sc{mule} \e$BJ8;z%;%C%H$N%j%9%H\e(B
+\e$B$r<hF@$7!"\e(B@code{mm-mime-mule-charset-alist} \e$BJQ?t$NCM$K4p$E$$$F!"$=$l$i\e(B
+\e$B$N\e(B @sc{mule} \e$BJ8;z%;%C%H$r\e(B @acronym{MIME} \e$BJ8;z%;%C%H$KJQ49$7$^$9!#7k2L$,\e(B
+\e$BC10l$N\e(B @acronym{MIME} \e$BJ8;z%;%C%H$@$C$?$i!"$=$l$r;H$C$F%Q!<%H$r%(%s%3!<%I\e(B
+\e$B$7$^$9!#$7$+$7!"7k2L$N\e(B @acronym{MIME} \e$BJ8;z%;%C%H$N%j%9%H$,Fs$D0J>e$NMWAG\e(B
+\e$B$r4^$s$G$$$k>l9g$K$O!"Fs$D$N$3$H$,5/$3$jF@$^$9!#$b$7%Q!<%H$r\e(B UTF-8 \e$B$G%(\e(B
+\e$B%s%3!<%I$9$k$3$H$,2DG=$@$C$?$i!"$=$NJ8;z%;%C%H$r;H$$$^$9!#\e(B(\e$B$3$N$?$a\e(B
+\e$B$K\e(B Emacs \e$B$O\e(B @code{utf-8} coding system \e$B$r%5%]!<%H$7$J$1$l$P$J$i$J$$$7!"\e(B
+\e$B$=$N%Q!<%H$O\e(B Unicode \e$B$GDj5A$5$l$?!"$=$l$i$KBP1~$9$kJ8;z$@$1$+$i@.$C$F$$\e(B
+\e$B$J$1$l$P$J$j$^$;$s!#\e(B) \e$B2?$i$+$NM}M3$K$h$C$F\e(B UTF-8 \e$B$rMxMQ$G$-$J$$>l9g!"$=\e(B
+\e$B$N%Q!<%H$O!"$=$l$>$l$,C10l$N\e(B @acronym{MIME} \e$BJ8;z%;%C%H$G%(%s%3!<%I$9$k$3\e(B
+\e$B$H$,$G$-$k$h$&$K!"$$$/$D$+$KJ,3d$5$l$^$9!#$b$C$H$b!"%Q!<%H$O9T$N6-3&$G$7\e(B
+\e$B$+J,3d$9$k$3$H$,$G$-$J$$$N$G!"C10l$N9T$r%(%s%3!<%I$9$k$N$KJ#?t\e(B
+\e$B$N\e(B @acronym{MIME} \e$BJ8;z%;%C%H$,I,MW$@$H$9$k$H!"$=$N%Q!<%H$r%(%s%3!<%I$9$k\e(B
+\e$B$3$H$OIT2DG=$G$9!#\e(B
+
+@quotation
+\e$BLuCm\e(B: @code{mm-mime-mule-charset-alist} \e$BJQ?t$r;H$&$N$O<B:]$K$O\e(B XEmacs \e$B$@\e(B
+\e$B$1$G$9!#\e(BEmacs \e$B$K$O<+?H$GDj5A$7$F$$$k\e(B coding system \e$B$H\e(B @acronym{MIME} \e$BJ8\e(B
+\e$B;z%;%C%H$NBP1~I=$,$"$j!">e5-$N=hM}$G$O$=$l$,;H$o$l$^$9!#\e(B
+@end quotation
+
+@sc{mule} \e$B5!G=$rHw$($?\e(B Emacs \e$B$rAv$i$;$F$$$k>l9g!"$I$N\e(B coding system \e$B$r;H\e(B
+\e$B$&$+$NM%@h=g0L$O\e(B Emacs \e$B<+?H$+$i7Q>5$5$l$^$9!#$3$l$O!"$b\e(B
+\e$B$7\e(B Emacs \e$B$,\e(B UTF-8 \e$B$rM%@h$9$k$h$&$K@_Dj$5$l$F$$$k$H!"$=$l$,%a%C%;!<%8$N%(\e(B
+\e$B%s%3!<%I$K;H$o$l$k$3$H$r0UL#$7$^$9!#$?$@\e(B
+\e$B$7\e(B @code{mm-coding-system-priorities} \e$BJQ?t$NCM$rJQ$($k$3$H$K$h$C$F!"$3$l\e(B
+\e$B$rJQ99$9$k$3$H$O$G$-$^$9\e(B (@pxref{Encoding Customization})\e$B!#\e(B
+
+\e$B%a%C%;!<%8$r:n@.$9$k$H$-$K\e(B @acronym{MML} \e$B$N\e(B @code{charset} \e$B%?%0$r@_Dj$9\e(B
+\e$B$k$3$H$K$h$C$F!";H$o$l$kJ8;z%;%C%H$r>e=q$-$9$k$3$H$,$G$-$^$9!#\e(B
+
+\e$BJ8;z%;%C%H$N%(%s%3!<%G%#%s%0\e(B (quoted-printable, 8bit \e$B$J$I\e(B) \e$B$O$3$3$G$N5D\e(B
+\e$BO@$KD>8r$9$k35G0$G$9!#$=$l$O\e(B @code{mm-body-charset-encoding-alist} \e$BJQ?t\e(B
+\e$B$H\e(B @code{mm-content-transfer-encoding-defaults} \e$BJQ?t$K$h$C$F@)8f$5$l$^\e(B
+\e$B$9\e(B (@pxref{Encoding Customization})\e$B!#\e(B
@node Conversion
-@section Conversion
+@section \e$BJQ49\e(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} \e$B4X?t$r;H$C$F\e(B @acronym{MIME} \e$B%a%C%;!<%8\e(B (\e$B%^%k%A%Q!<%H\e(B
+\e$B$G$b2D\e(B) \e$B$r\e(B @acronym{MML} \e$B$KJQ49$9$k$3$H$,$G$-$^$9!#$3$l$O8=:_$N%P%C%U%!\e(B
+\e$B$K$"$k\e(B @acronym{MIME} \e$B%a%C%;!<%8$K:nMQ$7$F!"\e(B@acronym{MIME} \e$B$N6-3&\e(B
+\e$B$r\e(B @acronym{MML} \e$B$N0uIU$1\e(B (markup) \e$B$GCV$-49$($^$9!#%F%-%9%H$G$O$J$$%Q!<\e(B
+\e$B%H$NFbMFJ*$O!"$=$N%P%C%U%!$KCV$/Be$o$j$K\e(B @acronym{MML} \e$B%?%0$r2p$7$F;2>H\e(B
+\e$B$5$l$kJL$N%P%C%U%!$KCV$+$l$^$9!#\e(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} \e$B4X?t$r;H$C$F\e(B @acronym{MML} \e$B%a%C%;!<%8\e(B
+\e$B$r\e(B @acronym{MIME} \e$B$KJQ49$9$k$3$H$,$G$-$^$9!#\e(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.
+\e$B$3$l$i$N4X?t$,9T$J$&$3$H$O$"$k0UL#$G!VIT2D5U\e(B (lossy)\e$B!W$G$9!#\e(B
+@code{mime-to-mml} \e$B$r<B9T$7!"<!$K\e(B @code{mml-to-mime} \e$B$r<B9T$9$k$H!"85$H\e(B
+\e$B$^$C$?$/F1$8%a%C%;!<%8$OLa$C$FMh$J$$$G$7$g$&!#%X%C%@!<$N=g=x$N$h$&$J$I$&\e(B
+\e$B$G$bNI$$$3$H$,0c$C$F$7$^$&$@$1$G$J$/!"%X%C%@!<$NFbMF$bJQ2=$7$F$7$^$&$+$b\e(B
+\e$B$7$l$^$;$s!#Nc$($P!"85$N%a%C%;!<%8$,\e(B base64 \e$B$G%F%-%9%H$r%(%s%3!<%I$7$F$"$C\e(B
+\e$B$F$b!"\e(B@code{mml-to-mime} \e$B$O\e(B quoted-printable \e$B$r;H$&$+$b$7$l$J$$!"$H$$$&\e(B
+\e$B$h$&$J$3$H$G$9!#\e(B
+\e$B$7$+$7K\<AE*$K$O!"$3$l$iFs$D$O8_$$$K5U4X?t$G$"$k$Y$-$G$9!#7k2L$H$7$F@8@.\e(B
+\e$B$5$l$k%a%C%;!<%8$NFbMFJ*$,!"F10l$G$J$$$K$7$F$bEy2A$J$^$^$G$"$k$h$&$J!#\e(B
@node Flowed text
-@section Flowed text
+@section \e$BN.F0%F%-%9%H\e(B
@cindex format=flowed
-The Emacs @acronym{MIME} library will respect the @code{use-hard-newlines}
-variable (@pxref{Hard and Soft Newlines, ,Hard and Soft Newlines,
-emacs, Emacs Manual}) when encoding a message, and the
-``format=flowed'' Content-Type parameter when decoding a message.
-
-On encoding text, regardless of @code{use-hard-newlines}, lines
-terminated by soft newline characters are filled together and wrapped
-after the column decided by @code{fill-flowed-encode-column}.
-Quotation marks (matching @samp{^>* ?}) 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} \e$B%i%$%V%i%j!<$O!"%a%C%;!<%8$r%(%s%3!<%I$9$k$H$-\e(B
+\e$B$O\e(B @code{use-hard-newlines} \e$BJQ?t\e(B (@pxref{Hard and Soft Newlines, ,Hard
+and Soft Newlines, emacs, Emacs Manual}) \e$B$K=>$$!"%a%C%;!<%8$r%G%3!<%I$9\e(B
+\e$B$k$H$-$O\e(B ``format=flowed'' Content-Type \e$B%Q%i%a!<%?$rB:=E$7$^$9!#\e(B
+
+\e$B%F%-%9%H$r%(%s%3!<%I$9$k$H$-!"%=%U%H2~9TJ8;z$G=*C<$5$l$F$$$k3F9T$O\e(B
+@code{use-hard-newlines} \e$B$K4X$o$i$:$K5M$a9~$^$l\e(B (filled)\e$B!"$=$7\e(B
+\e$B$F\e(B @code{fill-flowed-encode-column} \e$B$G7hDj$5$l$k7e$N8e$m$G@^$j>v$^$l$^$9!#\e(B
+\e$B0zMQ0u\e(B (@samp{^>* ?} \e$B$K9gCW$9$k%F%-%9%H\e(B) \e$B$OB:=E$5$l$^$9!#$=$NJQ?t$O!"N.\e(B
+\e$BF0%F%-%9%H$r%5%]!<%H$7$J$$%/%i%$%"%s%H$K$*$$$F%F%-%9%H$,$I$&8+$($k$+$r@)\e(B
+\e$B8f$7!"%G%#%U%)%k%H$G$O\e(B 66\e$BJ8;z$N8e$m$G@^$j>v$_$^$9!#%P%C%U%!$K%O!<%I2~9T\e(B
+\e$BJ8;z$,L5$1$l$P!"N.F0\e(B (flowed) \e$B%F%-%9%H$N$?$a$N%(%s%3!<%I$O9T$J$$$^$;$s!#\e(B
+
+\e$BN.F0\e(B (flowed) \e$B%F%-%9%H$r%G%3!<%I$9$k$H$-!"%=%U%H2~9TJ8;z$r;}$D3F9T$O5M$a\e(B
+\e$B9~$^$l\e(B (filled)\e$B!"$=$7$F\e(B @code{fill-flowed-display-column} \e$B$G7hDj$5$l$k7e\e(B
+\e$B$N8e$m$G@^$j>v$^$l$^$9!#%G%#%U%)%k%H$G$O\e(B @code{fill-column} \e$B$N8e$m$G@^$j\e(B
+\e$B>v$_$^$9!#\e(B
@table @code
@item mm-fill-flowed
@vindex mm-fill-flowed
-If non-@code{nil} a format=flowed article will be displayed flowed.
+\e$BHs\e(B-@code{nil} \e$B$@$C$?$i!"\e(Bformat=flowed \e$B$N5-;v$ON.F0E*$KI=<($5$l$^$9!#\e(B
@end table
-
@node Interface Functions
-@chapter Interface Functions
+@chapter \e$B%$%s%?!<%U%'!<%94X?t\e(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} \e$B%i%$%V%i%j!<$O!"<!0J9_$N>O$G=R$Y$k<B:]$NDc%l%Y%k$J%i%$\e(B
+\e$B%V%i%j!<$rCj>]2=$7$?$b$N$G$9!#\e(B
+
+\e$BI8=`$OJQ$o$j$^$9!#$7$?$,$C$F!"%W%m%0%i%`$b?7$7$$Cr7?$KE,9g$9$k$?$a$KJQ2=\e(B
+\e$B$7$J$1$l$P$J$j$^$;$s!#Nc$($P!"\e(BRFC2045 \e$B$O%Q%i%a!<%?$N%j%9%H$K$"\e(B
+\e$B$k\e(B @acronym{ASCII} \e$BJ8;z$@$1$r5vMF$9$k\e(B @code{Content-Type} \e$B%X%C%@!<$N$?$a\e(B
+\e$B$N%7%s%?%C%/%9$K$D$$$F=R$Y$F$$$^$9!#\e(BRFC2231 \e$B$O!"J#?t9T$KEO$C$F7QB3$9$kC1\e(B
+\e$B0l$N%X%C%@!<$HHs\e(B-@acronym{ASCII} \e$BJ8;z$N9=@.$r5,Dj$9$k$?$a$N\e(B RFC2045 \e$B$N%7\e(B
+\e$B%s%?%C%/%9$K$D$$$F>\=R$7$F$$$^$9!#\e(B
+
+\e$B$3$l$KBP=h$9$k=>Mh$NJ}K!$O!"C1$K?7$7$$%7%s%?%C%/%9$r2r@O$9$k$?$a$K%i%$%V\e(B
+\e$B%i%j!<$N5!G=$r99?7$9$k$3$H$G$7$?!#$7$+$7$J$,$i!"$3$l$O;~$K$O8m$C$?9T0Y$G\e(B
+\e$B$9!#>l9g$K$h$C$F$O!"?7$7$$%7%s%?%C%/%9$H8E$$%7%s%?%C%/%9$NN>J}$rM}2r$G$-\e(B
+\e$B$k$h$&$K$9$k$3$H$,=EMW$+$b$7$l$^$;$s$7!"%i%$%V%i%j!<$,0l$D$@$1$"$k>l9g$K\e(B
+\e$B$O!"%i%$%V%i%j!<$N8E$$%P!<%8%g%s$H?7$7$$%P!<%8%g%s$N$I$A$i$+$rA*$P$J$1$l\e(B
+\e$B$P$J$j$^$;$s!#\e(B
+
+Emacs @acronym{MIME} \e$B%i%$%V%i%j!<$O0[$J$kJ}?K$G9T$/$3$H$K$7$^$7$?!#$3$l\e(B
+\e$B$O!"BP1~$9$kI8=`$K=>$C$F87L)$K2r@O$9$k!"0lO"$NDc%l%Y%k$N%i%$%V%i\e(B
+\e$B%j!<\e(B (@file{rfc2047.el}, @file{rfc2231.el} \e$B$J$I\e(B) \e$B$rDj5A$7$^$9!#$H$O8@$(!"\e(B
+\e$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\e(B
+\e$B$o$j$K\e(B @code{mail-parse} \e$B%i%$%V%i%j!<$,Ds6!$9$k4X?t$r;H$&$Y$-$G$9!#$3$N\e(B
+\e$B%i%$%V%i%j!<$N4X?t$O!":G?7$NDc%l%Y%k$N%i%$%V%i%j!<$NBP1~$9$k4X?t$X$NC1$J\e(B
+\e$B$kJLL>$G$9!#$3$N9=@.$r;H$&$3$H$K$h$C$F!"%W%m%0%i%`$O$=$l$i$,;H$&$3$H$,$G\e(B
+\e$B$-$k<sHx0l4S$7$?%$%s%?!<%U%'!<%9$rF~<j$7!"$^$?!"%i%$%V%i%j!<$N3+H/<T$O!"\e(B
+\e$B?7$7$$I8=`$r07$&%3!<%I$r<+M3$K:n@.$9$k$3$H$,$G$-$^$9!#\e(B
+
+\e$B0J2<$N4X?t$,!"$3$N%i%$%V%i%j!<$GDj5A$5$l$F$$$^$9\e(B:
@table @code
@item mail-header-parse-content-type
@findex mail-header-parse-content-type
-Parse a @code{Content-Type} header and return a list on the following
-format:
+@code{Content-Type} \e$B%X%C%@!<$r2r@O$7$F!"0J2<$N7A<0$G%j%9%H$rJV$7$^$9\e(B:
@lisp
("type/subtype"
...)
@end lisp
-Here's an example:
+\e$BNc$G$9\e(B:
@example
(mail-header-parse-content-type
@item mail-header-parse-content-disposition
@findex mail-header-parse-content-disposition
-Parse a @code{Content-Disposition} header and return a list on the same
-format as the function above.
+@code{Content-Disposition} \e$B%X%C%@!<$r2r@O$7$F!">e5-$N4X?t$HF1$87A<0$N%j\e(B
+\e$B%9%H$rJV$7$^$9!#\e(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.
+\e$BFs$D$N%Q%i%a!<%?!">e5-$N7A<0$N%j%9%H$HB0@-!"$r<u$1<h$j!"$=$NB0@-$NCM$rJV\e(B
+\e$B$7$^$9!#\e(B
@example
(mail-content-type-get
@item mail-header-encode-parameter
@findex mail-header-encode-parameter
-Takes a parameter string and returns an encoded version of the string.
-This is used for parameters in headers like @code{Content-Type} and
-@code{Content-Disposition}.
+\e$B%Q%i%a!<%?$K;H$&J8;zNs$r<u$1<h$j!"$=$l$r%(%s%3!<%I$7$?$b$N$rJV$7$^$9!#$3\e(B
+\e$B$l$O\e(B @code{Content-Type} \e$B$H\e(B @code{Content-Disposition} \e$B$N$h$&$J%X%C%@!<\e(B
+\e$B$KF~$l$k%Q%i%a!<%?$N$?$a$K;H$o$l$^$9!#\e(B
@item mail-header-remove-comments
@findex mail-header-remove-comments
-Return a comment-free version of a header.
+\e$B%X%C%@!<$+$i%3%a%s%H$r<h$j=|$$$?$b$N$rJV$7$^$9!#\e(B
@example
(mail-header-remove-comments
@item mail-header-remove-whitespace
@findex mail-header-remove-whitespace
-Remove linear white space from a header. Space inside quoted strings
-and comments is preserved.
+\e$B%X%C%@!<$+$i\e(B ``linear white space'' (\e$BLuCm\e(B: \e$BC10l$ND9$$%X%C%@!<$r@^$j>v$s\e(B
+\e$B$GJ#?t9T$K$9$k$H$-$K;H$&O"7k;R\e(B; \e$B2~9TJ8;z\e(B+\e$B6uGrJ8;z\e(B) \e$B$r<h$j=|$-$^$9!#%/%)!<\e(B
+\e$B%H$5$l$?\e(B ("..." \e$B$G0O$^$l$?\e(B) \e$BJ8;zNs$NCf$K$"$k6uGrJ8;z$H%3%a%s%H$OJ]B8$5$l\e(B
+\e$B$^$9!#\e(B
@example
(mail-header-remove-whitespace
@item mail-header-get-comment
@findex mail-header-get-comment
-Return the last comment in a header.
+\e$B%X%C%@!<$N:G8e$N%3%a%s%H$rJV$7$^$9!#\e(B
@example
(mail-header-get-comment
@item mail-header-parse-address
@findex mail-header-parse-address
-Parse an address and return a list containing the mailbox and the
-plaintext name.
+\e$B%"%I%l%9$r2r@O$7$F!"%a!<%k%\%C%/%9$H%W%l!<%s%F%-%9%H$NL>A0$r4^$`%j%9%H$r\e(B
+\e$BJV$7$^$9!#\e(B
@example
(mail-header-parse-address
@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.
+\e$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\e(B
+\e$B%H$rJV$7$^$9!#\e(B
@example
(mail-header-parse-addresses
@item mail-header-parse-date
@findex mail-header-parse-date
-Parse a date string and return an Emacs time structure.
+\e$BF|IU$NJ8;zNs$r2r@O$7$F!"\e(BEmacs \e$B7A<0$N;~9o$rJV$7$^$9!#\e(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.
+\e$B%P%C%U%!$r%X%C%@!<$N6h0h$K69$a$^$9!#%]%$%s%H$O69$a$i$l$?%P%C%U%!$N@hF,$K\e(B
+\e$BCV$+$l$^$9!#\e(B
@item mail-header-narrow-to-field
@findex mail-header-narrow-to-field
-Narrow the buffer to the header under point. Understands continuation
-headers.
+\e$B%P%C%U%!$r8=:_0LCV$N%X%C%@!<$K69$a$^$9!#J#?t9T$KEO$C$F7QB3$9$kC10l$N%X%C\e(B
+\e$B%@!<$rM}2r$7$^$9!#\e(B
@item mail-header-fold-field
@findex mail-header-fold-field
-Fold the header under point.
+\e$B8=:_0LCV$N%X%C%@!<$r@^$j>v$_$^$9!#\e(B
@item mail-header-unfold-field
@findex mail-header-unfold-field
-Unfold the header under point.
+\e$B8=:_0LCV$N%X%C%@!<$N@^$j>v$_$r2r=|$7$^$9!#\e(B
@item mail-header-field-value
@findex mail-header-field-value
-Return the value of the field under point.
+\e$B8=:_0LCV$N%U%#!<%k%I$NCM$rJV$7$^$9!#\e(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?=}.
+\e$BNN0h$K$"$k\e(B @acronym{ASCII} \e$B0J30$N8l$r%(%s%3!<%I$7$^$9!#Nc$(\e(B
+\e$B$P\e(B @samp{Na@"{@dotless{i}}ve} \e$B$O\e(B @samp{=?iso-8859-1?q?Na=EFve?=} \e$B$H$7$F\e(B
+\e$B%(%s%3!<%I$5$l$^$9!#\e(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.
+\e$B8=:_$N%P%C%U%!$K$"$k\e(B @acronym{ASCII} \e$B0J30$N8l$r%(%s%3!<%I$7$^$9!#$3$N4X\e(B
+\e$B?t$O!"%X%C%@!<$N6h2h$K69$a$i$l$?%a%C%;!<%8$G8F$P$l$k$3$H$r0U?^$7$F$$$^$9!#\e(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.
+\e$BJ8;zNs$K4^$^$l$F$$$k%(%s%3!<%I$9$kI,MW$,$"$k8l$r%(%s%3!<%I$7$F!"7k2L$rJV\e(B
+\e$B$7$^$9!#\e(B
@example
(mail-encode-encoded-word-string
@item mail-decode-encoded-word-region
@findex mail-decode-encoded-word-region
-Decode the encoded words in the region.
+\e$BNN0h$K$"$k%(%s%3!<%I$5$l$?8l$r%G%3!<%I$7$^$9!#\e(B
@item mail-decode-encoded-word-string
@findex mail-decode-encoded-word-string
-Decode the encoded words in the string and return the result.
+\e$BJ8;zNs$K4^$^$l$F$$$k%(%s%3!<%I$5$l$?8l$r%G%3!<%I$7$F!"7k2L$rJV$7$^$9!#\e(B
@example
(mail-decode-encoded-word-string
"This is =?iso-8859-1?q?na=EFve,?= baby")
@result{} "This is na@"{@dotless{i}}ve, 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.
-
-
+\e$B8=:_\e(B @code{mail-parse} \e$B$O\e(B @code{ietf-drums}, @code{rfc2047},
+@code{rfc2045} \e$B$*$h$S\e(B @code{rfc2231} \e$B$rLVMe$7$FCj>]2=$7$^$9!#$3$l$i$K$D\e(B
+\e$B$$$F!"<!0J9_$N>O$G@bL@$7$^$9!#\e(B
@node Basic Functions
@chapter Basic Functions