ืืืื ืืคืงืืื mime-constructp ืฉื ืืชื ืืืคืขืื ืืกืคืง ืืืืจืื ืืืื ืื ืฉื OnWorks ืืืืฆืขืืช ืืืช ืืชืื ืืช ืืขืืืื ืืืงืืื ืืช ืืืจืืืืช ืฉืื ื, ืืืื Ubuntu Online, Fedora Online, ืืืืืืืจ ืืงืืื ืฉื Windows ืื ืืืืืืืจ ืืงืืื ืฉื MAC OS
ืชึธืึฐื ึดืืช:
ืฉืึตื
mime-construct - ืืื ืืช ืืืืืืคืื ืืฉืืื ืืืืขืืช MIME
ืชึทืงืฆึดืืจ
ืคื ืืืืืื ืืืืืืฃ...
ืกืืืื, ืงืฉื ืืกืคืง ืชืงืฆืืจ ืืฉืืขืืชื. ืจืื ืืช ืืืืืืืืช.
ืชืืืืจ
ืคื ืืืืืื ืืื ื ื(ืืืจืืจืช ืืืื) ืฉืืื ืืืืขืืช MIME. ืืื ืืื ืข ืืืื
ืืฉืืจืช ืืคืงืืื, ืืื ืืืืขื ืืฉืืืืฉ ืขื ืืื ืชืืื ืืืช ืืืจืืช, ืื ืื ืฉืื ืฉืืชื ืืืื ืืื
ืชืืื ืืืช.
ืืคืฉืจืืืืช
ืืืึนืึผึธืึดื ืืืืจืืช
--ืื ืคืืช
ืืคืขื ืืืชืืจ ืืืืื.
- ืขืืจื
ืืฆื ืืช ืืืืขืช ืืฉืืืืฉ ืืชืืืช.
--ืชึฐืคืึผืงึธื
ืื ืชืฉืื ืืช ืืืืืขื ืฉื ืืฆืจื ืืืืืจ, ืืืคืก ืืืชื ื-stdout ืืืงืื ืืืช. ืื ืืคืกืื --ืขืืชืง ืืืกืชืจ Info.
--ืืืง ืืฉื ื
ืฆืืจ ืชืช-ืืืง ืฉื ืืชื ืืืฉืชืืฉ ืื ืืืืืขืช MIME ืืืจืช, ืืืงืื ืืจืื ืืขืืืื ื
ืืืืขืช MIME ืขืฆืื. ืื ื ืืืง --ืชึฐืคืึผืงึธื ืืืฉื ื ืงืฆืช ืกืื ืืืงื ืคื ืืืืช ื
ืงืฆืช. ืจืื ืืช ืืืืืืืืช.
--ืึดืจึฐืกึธื
ืืืคืก ืืช ืืืจืกื ืืฆื ืืืฆืืื, ืื ืื ื-arg ืืืืื. ืืืจืช, ืืืคืก
ืืืจืกื ืืืืืช.
ืจืืฉื ืืืชืจืช
ืืจืืืื ืืื ืืื ืืืกืืคืื ืืงืกื ืืืืชืจืช ืืขืืืื ื ืฉื ืืืืืขื, ืื ืฉืืืืื ืืื ืืื ืืงืืืช
ื ืฉืื ื.
--ืขืืชืง ืืืกืชืจ ืืชืืืช
ืืืืกืืฃ ืืชืืืช ืืจืฉืืืช ืื ืืขื ืื. ืื ืืขืฆื ืื ืืืกืืฃ ืฉืื ืืืจ ืืืืชืจืช,
ืืืืื. ืื ืืชื ืื ืืืฉ ืฉืืื ืืช ืืืืืขื ืืืืืจ (ืื ืืชื ืืฉืชืืฉ --ืชึฐืคืึผืงึธื or
--ืืืง ืืฉื ื) --ืขืืชืง ืืืกืชืจ ืื ืชืืื ืืฉืคืขื.
--cc ืืชืืืช
ืืืกืฃ ืืชืืืช ื- ืขืืชืง: ืจืฉืืื.
--ืืฉืืืฅ-ื
ืฉืื ืืช ืืืืืขื ืื ืืขื ืื ืฉืืืจ ืจืฉืืืื ืืืืชืจืช, ืื ืืกืฃ ืืืื
ื ืืชื ืขื --ื, --cc, ื --ืขืืชืง ืืืกืชืจ. ืื ืืืืื ื ืื ืืชื ืืฉืชืืฉ ื- --ืึผืึนืชึถืจึถืช ืืขืืืจ ื
ืืืกืฃ ืืฉืื ื: or ืขืืชืง:. ืืืงืจื ืื ืืชื ืื ืจืื ืื ืจืืฆื ืืืฉืชืืฉ --ื or --cc
ืื ืื ืืื ืืืฆืจืื ืืืชืจืืช ืืืฉืืช ืืืงืื ืืืืกืืฃ ืืืืชืจืืช ืฉืืืจ ื ืืฆืืืช ื-
ืืึนืึธืขึธื.
ืืชื ืื ืขืืืจ ืืช -t ืขืืืจ ื- sendmail (ืคื ืืืืืื ืื ืื ืกื ืื ืชื ืืช
ืืืชืจืืช ืฉืืชื ืืกืคืง), ืื ืฉืื ืื ืืืืช ืขืืฉื ืืืื ืื ืืชื ืื ืฉืืื ืืช ื
ืืึนืึธืขึธื.
--ืึผืึนืชึถืจึถืช str
ืืืกืฃ ืืงืกื ืฉืจืืจืืชื ืืืืชืจืช. ื str ืืืื ืืืืืช ืื ืืืจ ืฉืชืจืฆื, ืืืื
ืฉืืจืืช ืืจืืืืช. ืืชื ืืืื ืืืฆืืจ ืืืืขืืช ืื ืืืงืืืช ืืืจื ืื. ืื ืืชื ืืืื ืจืืง
ืงื ื str ืืชื ืืืืช ืชืืืื ืืช ืืืกืจ.
--ืจื ืืืงืื str
ืื ืืฆืืื ืืช ืกืื ืืชืืื ืืจืืื ืืืงืื ืืืช ืืืคืฉืจืืืืช. ืืจืืจืช ืืืืื ืืื
"ืจื ืืืงืื/ืืขืืจืืื". ืื ืชืืืื ืืืืจืช "ืืืื", ืฉืืกืืคืงืช ืขื ืืื ืึฐืึทืงืึนืช-
ืืื ืืช.
ืื ืืกืืจ ืื ืืชื ืืฆืืื ืืช --ืจื ืืืงืื ืืงืื ืืื ืืกืชืืจ ืฉืืืืืขื ืืื ืืืืื
ืืืง, ืคืฉืื ืชืชืขืื ืืืกืื ืฉืืชื ืืกืคืง.
--ืึทืงืึธื str
ืื ืืืกืืฃ str ืืืงืกื ืืืงืืื ืืจื-ืืืงื. ืื ืชืคืจื --ืึทืงืึธื ืืกืคืจ ืคืขืืื
ืื ืืื strืืืื ืืืื ืืฉืืจืฉืจืื.
ืืื ืืจืืจืช ืืืื ืขืืืจ ืืืงืกื ืืื. ื ืจืื ืื ืฉืืืื ืืืกืคืช an
ืืกืืจ ืฉื MIME ืืชืืืืช ืืืืขื ืืื ืืื ืืกืืจ ืืืฆื ืืืฉืชืืฉ ืืืืฉื
ืืืื ืืื ืฉืื ืฉื ืืกืขืื ืืืืืก.
ืื ืืกืืจ ืื ืืชื ืืฆืืื ืืช --ืึทืงืึธื ืืื ืืกืชืืจ ืฉืืืืืขื ืืื ืืืง ืืืื,
ืืืงืืื ืฉืชืกืคืง ืคืฉืื ืชืชืขืื.
--ื ืืฉื str
ืฆืืื ืืช ื ืืฉื ืืืืืขื.
--ื ืืชืืืช
ืืืกืฃ ืืชืืืช ื- ื: ืจืฉืืื.
ืืื ืืืง ืืืชืจืช
ืืชืืื ืืื ืฉืืืืื ืืืืชืจืืช ืืื ืืืง. ืื ืืชืืจืจ ืฉืืืืืขื ืืื ื ืืจืืื ืืืงืื
ืื ืืืขืฉื ืืืกืืคืื ื ืชืื ืื ืืืืชืจืช ืืขืืืื ื.
ืื ืืื ืืืื ืื ืจืง ืขื ืคืื ืืืืง ืืื. ืืืจื ืื ืืืง ืืื ืคืื ืื
ืืืคืก ืืขืจืื ืืจืืจืช ืืืืื ืฉืืื. ืื ืื ืืืืื ื ืืืฉืชืืฉ ืืื ืืื ืขืืงืืื
ืืืง, ืื ืคื ืืืืืื ืืงืจืื ืืืืืช ืื ืชื ืกื ืืขืฉืืช ืืช ืื.
--ืึดืชืงึทืฉืึฐืจืึผืช ืฉื
ืื ืืืกืืฃ ืืืชืจืช "ืชืืื-ืืืกposition: ืืฆืืจืฃ" ืขื ืื ืชืื ืฉื ืืขืจื
ืฉื ืืชืืื ื "ืฉื ืงืืืฅ". ืื ืจืง ื ืืืืช, ืฉืื ืคื ืืืืืื ืืขืืชืื ืงืจืืืืช
ืืฉืืฉ ืืฉืืืืช ืงืืฆืื ืืงืืฆืื ืืฆืืจืคืื.
ืฉืืืืฉ --ืึดืชืงึทืฉืึฐืจืึผืช ืฉื ืื ืืืจื ืคื ืืืืืื ืืื ืืงืจืื ื ืชืื ืื ืืืงืืืฅ
ื ืงืจื ืฉื! ืื ืคืฉืื ืืฉืชืืฉ ืืฉื ืืื ืืืืชืจืช. ืื ืชืื ืื ืืคืืขื ืฉืืืื
ืืชืื ืืืง ืื ืฉื ืืืืืขื ืืืืข ืืืื ืืืชืื ืืคืื ืืจืืืืื ืฉื ืืืืง
(ื ืืชื ืืืื).
ืืืื ืืชื ืืขืืืฃ ืืืฉืชืืฉ ื- --ืงืืืฅ-ืืฆืจืฃ ืืชื, ืฉืืื ืงืืจื ืื- ืฉืืงืืืฅ d.
--ืึทืฆืคึผึธื ึธื ืกืื
ืื ืืฆืืื ืืช ืกืื ืืงืืืื ืฉืื ืชืจืฆื ืฉืืืง ืื ืืฉืชืืฉ. ืืชื ืืืจื ืืื ืื ืฆืจืื
ืขื ืืืช, ืืฉืชืืฉ ืืืชื ืืื. ืื ืืชื ืื ืืื ื ืืฉืืืืฉ ืคื ืืืืืื ืืืืจ ื-
ืงืืืื ืืชืืื.
ืื ืชืื ืื ืฉืืชื ืืกืคืง ืื ืืืืืื ืืืืืช ืืงืืืืื ืืืจ, ืคื ืืืืืื ืืงืืื ืืืชื
ืคื ืกืื ืืชื ืืฆืืื ืืื. ืงืืืืืื ืืืงืืื ืื 7bit, 8bit, ืืื ืจื,
ืืฆืืื-ืืืืคืกื, ื base64. ืงื ืืืฆืืจ ืืืืขืช MIME ืื ืืืงืืช ืขื ืืื
ืฆืืื ืืงืืืื ืืขืฆืื.
--ืืืง-ืืืชืจืช str
ืืืกืฃ ืืงืกื ืฉืจืืจืืชื ืืืืชืจืช ืืื ืืืง. ื str ืืืื ืืืืืช ืื ืืืจ ืฉืชืจืฆื,
ืืืื ืฉืืจืืช ืืจืืืืช. ืืชื ืืืื ืืืฆืืจ ืืืืขืืช ืื ืืืงืืืช ืืืจื ืื. ืื ืืชื ืืืื ื
ืฉืืจื ืจืืงื ื- str ืืชื ืืืืช ืชืืืื ืืช ืืืกืจ.
--ืกืึผื ืกืื
ืฆืืื ืืช ืกืื ืืชืืื ืขืืืจ ืืืง ืื. ืื ืื ืชืฆืืื ื --ืกืึผื ืื ืืืจืืจืช ืืืื
"ืืงืกื/ืจืืื". ื ืกืื ืืชื ืืกืคืง ืืืื ืืืืื ืื ืจืง ืืช ืืกืื ืื ืืื ืืื ืื
ืืคืฉืจืืืืช. ืื ืืขื ืืื ืคืฉืื ืืืคืืข ืขื ืืกืืฃ ืฉื "Content-Type:" ื
ืชืงืืข ืืืืชืจืช.
ืืืื ืืชื ืืขืืืฃ ืืืฉืชืืฉ ื- --ืงืืืฅ-ืืืืืืื or --ืงืืืฅ-ืืฆืจืฃ ืืชืืื, ืืฉืจ ืงืืืขืื ืืช
--ืกืึผื ืืืืคื ืืืืืืื ืืืชืืกืก ืขื ืฉื ืืงืืืฅ.
ืืืง ืชึฐืคืึผืงึธื
ืืชืืื ืืื ืืืกืืคืื ื ืชืื ืื ืืืืฃ ืืืืืขื. ืืชื ืืฉืชืืฉ ืืืื ืืืื ืขืืืจ ืื ืืื ืขืืืจ
ืื ืืืง ืฉื ืืืืขื ืืจืืื ืืืงืื (ืื ืจืง ืืื ืืื ืื ืืืืืขื ืื ืืืืจื ืืืืืช
ืืจืืื ืืืงืื).
--ืงืึนืึถืฅ ื ืชืื
--ืงืืืฅ-ืืืืืืื ื ืชืื
--ืงืืืฅ-ืืฆืจืฃ ื ืชืื
--ืึฐืฆึทืจึตืฃ ื ืชืื
--ืืึผื str
--ืืึผืฃ str
ืืฉืชืืฉ ืืชืืื ืืงืืืฅ ื ืชืื ืื ืืืืจืืืช ืืืืืืืืช str ืืืืฃ ืืืืง ืืื.
--ืงืืืฅ-ืืืืืืื ืืืจื ืืืืืจืช Content-Type ืืืชืืกืก ืขื ืฉื ืืงืืืฅ, ืื ืืคืฉืจ.
--ืงืืืฅ-ืืฆืจืฃ ืขืืฉื ืืช ืื ืืืืืืจ ืืช --ืึดืชืงึทืฉืึฐืจืึผืช ืื ืฉื.
ืืงืคื ืืืืื ืืช ืืฉืืจื ืืืืฉื ืื ืืจืจืช str ืืื ืื ืื ืืืืช ืื ืืืืจ
ืืืืืช ืืื. ืื ืชืฉืืืจ ืืช ืืฉืืจื ืืืืฉื ืื ืืจืจืช ืืืืฅ ืืืืง ืืฆืืจื ืืืืืช ืืงืืื
"base64" (ืืืืืื ืฉื"ืฆืืืื-ื ืืชื ืืืืคืกื" ืืฉ ืืืืื ืืืืืืชืืช ืฉืืื ืขืช ืืืช
ืืืืืืืช ืืงืืื ืืจื ื ืชืื ืื ืืื).
--ืึฐืฆึทืจึตืฃ ืืื ืืื ืื ืขืืืจ --ืงืืืฅ-ืืฆืจืฃ, ื --ืืึผืฃ ืืื ืืื ืื ืขืืืจ --ืืึผื.
--subpart-file ื ืชืื
--ืืืจืืืช ืืฉื ื str
ืืฉืชืืฉ ืืชืืื ืฉื ื ืชืื or str ืขืฆืื ืืืืฃ ืืืืง ืืื, ืืื ืืชืืืืก ืืืื
ืืชืืจ ืืืง ืืฉื ื. ืืืฉืืขืืช ืืื ืฉืื ืชืื ืื ืืืืืื ืื ืืื ืืืชืจืืช ืืื ืืืง ืืืืงืกื. ืื
ืื ืื ืืืืจ ืฉืืชื ืื ืืืื ืืืฉืชืืฉ --ืกืึผื or --ืึทืฆืคึผึธื ึธื ืืืืง ืื.
ืืืจื ืืื ื ืชืื or str ืชืืืืฆืจ ืขื ืืื ืงืจืืื ืืืจืช ืฉื ืึฐืึทืงืึนืช-
ืืื ืืช ืืฉืจ ื ืืชื ื --ืืืง ืืฉื ื ืืชื.
ืืืขืื ืื ืืืืจืจืื ืฉืืงืืืื ืฉื ืงืืืฅ (ืืืื --ืงืึนืึถืฅ ื --subpart-file) ืืืื ืืงืื
ืงืฆืช ืงืกื. ืื ืืื ืงืืืฅ ืขื ื ื ืชืื ืกืืคืง Perl ืจืืื ืึดืคึฐืชืึนืึท() ื ืขืฉื ืขื
ืื. ืจืื "ืืืืืืืช".
ืืืืืืืช
ืืืืืืืืช ืื ืืืืช ืฉ-$nl ืืืื ืฉืืจื ืืืฉื. ืืืฉืชื ืื ืืืืจืื ืฉืืื ื ืขืฉื ืฉืืืืฉ ืื ืื ื ืืงืืื
ืืืื ืืืืื.
ืฉืื ืืืืขื ืคืฉืืื.
mime-construct --to "$recip" --subject 'ืืื ืฉื' --string "$body"
ืฉืื ืืืืขื ืฉื ืงืจืืช ื-stdin.
ืืื | mime-construct --to "$recip" --subject fortune --file -
ืฉืื ืืืง ืืงืกื ืจืืื ืืฆืจืฃ ืงืืืฅ, ืืืืจืช ืกืื ืืชืืื ืฉื ืืงืืืฅ ื --ืึดืชืงึทืฉืึฐืจืึผืช
ืฉื ืืืืคื ืืืืืืื.
mime-construct --to "$recip" --subject "$file" \
--string "ืื ื ืืงืืืฅ ืฉืกืืคืจืชื ืื ืขืืื.$nl" \
--file-attach "$file"
ืจืื ืืื ืฉืื ืืืฉืืื ืขื ืงืืฆืื ืืฆืืจืคืื ืืขื ืืืืขืืช ืืจืืื ืืืง, ืืื ืื ืื ืืืืืื ืืืืืช. ืึถื
ืืืฆืจ zip ืฉื ืื ืืงืืฆืื ืืกืคืจืืื ืื ืืืืืช ืืฉืืื ืืืชื ืืงืืืฅ ืืฆืืจืฃ
ืืื ืืืืืขื ืืืืื.
zip -q - * |
mime-construct --to "$recip" --subject 'ืกืคืจืืื zipped' \
--attachment dir.zip --type application/zip --file -
ืืชื ืืืื ืืืฉืชืืฉ ืืืืื ืืืฉืจ ืืืืขื ืฉื ืคืจื ืึดืคึฐืชืึนืึท() ืืขืช ืื ืืืช ืฉืืืช ืงืืฆืื. ืึฐืึธืฉืึธื,
ืืชื ืืืื ืืืคืขืื ืชืืืืืื XXX ืืืืืืืช ืจืขืืช, ืืื ืฉืืืช ืงืืฆืื
mime-construct --to "$recip" --subject "$subject" \
--string "ืื ื ืฉื ื ืืงืืฆืื ืฉืจืฆืืช.$nl" \
--ืกืื application/x-gzip --attachment file1.gz --file 'gzip -c file1 |' \
--ืกืื application/x-gzip --attachment file1.gz --file 'gzip -c file2 |'
ืื ืืงืจืื ืืชืืจื ืงืืืฅ ืืืืคืืื ("<&=4" ืืื ืืงืจืื ืืชืืจ ืงืืืฅ 4) ืื
ืื ืฉืชืืื. ืจืื perlopentut ืืืืจืื.
ืื ื ืืืืื ืืฉืืืืฉ ืืืงืจืื ื ืคืจืืช ืฉื ืคื ืืืืืื ืืื ืืืฆืืจ ืืืง ืืฉื ื.
ืื ืืืฆืจ ืืืืขื ืฉืืฉ ืื ืฉื ื ืืืงืื ืืจืื ืืขืืืื ื. ืืืืง ืืจืืฉืื ืืื ืงืฆืช ืืงืกื,
ืืืืง ืืฉื ื ืืื ืขืืืื. ืืชืงืฆืืจ ืขืฆืื ืืื ืืืืขื ืืจืืื ืืืงืื ืืืืืื ื
ืืกืคืจ ืืืงื ืืืืขื/rfc822.
msg_args=
ืขืืืจ ืืืืขื ื-$msg_list
do
msg_args="$msg_args --ืกืื ืืืืขื/rfc822 --ืงืืืฅ $msg"
ืขืฉื
ืืืืจ fnord
ืืืชืืื ื-$recip_list
do
ืืืืจ "$@" --bcc $recip
ืขืฉื
ืืฉืืจืช
mime-construct --subpart --multipart multipart/digest $msg_args |
ืคื ืืืืืื \
--header "To: Digest recipients:;$nl" \
--subject 'Foo digest' \
"$@" \
--ืงืืืฅ "$introduction" \
--ืชืช-ืืืง-ืงืืืฅ -
ืื ื ืืื ืืฉืืื ืืืืขืืช ืืืฆืคื ืืช (ืจื ืืืง/ืืืฆืคื, ืืคื ืฉืืืืืจ ื-RFC 1847).
ืืชื ืืฉืชืืฉ ืคื ืืืืืื "--subpart" ืืื ืืืฆืืจ ืืช ืืืืืขื ืืืืืชืืช ืฉืืจืฆืื ื ืืฉืืื (ืืฉืจ
ืืืืื ืืืืืช ืกืื ืฉื ืืืืขืช MIME -- ืืื ืืงืกื, ืืจืืื ืืืงืื, ืื ืืฉ ืื), ืืื ืืืฆืคืื ืืช ืื ื
ืืืฉืชืืฉ ืืืืจ ืคื ืืืืืื ืืื ืืช ืืืฉืืื ืืช ืืืืืขื ืืจืืื ืืืงืื/ืืืฆืคื ืช ืืฉืจ
ืืืื ืืช ืื.
enc_type=application/pgp ืืืฆืคื
enc_params="ืืจืกื: 1$nl"
mime-construct --subpart --ืืืฃ ืืงืืืฅ --file-auto image.jpg |
gpg --encrypt --armor -r "$recip" |
mime-construct --ืคืื \
--ื "$recip" \
--subject "$subject" \
--multipart "multipart/encrypt; protocol=\"$enc_type\"" \
-- ืืงืื "$enc_type" \
--string "$enc_params" \
-- ืืงืื application/octet-stream \
--ืงืืืฅ -
ืืฉืชืืฉ ื-mime-constructp ืืืื ืืจื ื ืืืืฆืขืืช ืฉืืจืืชื onworks.net