web-dev-qa-db-ja.com

Uuencodeは、添付ファイルにファイルを添付するのではなく、メール本文にファイルの内容を表示しています

シンプルなテキストファイルをメールの添付ファイルとして送信したい。メールが配信されるときに添付ファイルが欠落している代わりに、添付ファイルの内容がメール本文に表示されます。それを修正するための提案が必要です。

これが私の入力です:

bash-4.1$ cat test.txt  
HelloWorld !  

bash-4.1$ uuencode test.txt test_attachment.txt|mailx -s 'testing' [email protected]  

これは電子メールの出力です:

begin 664 test_attachment.txt
/2&5L;&]7;W)L9"`A(`H*
`
end
2
Vineet

uuendcode ... | mailx ...コマンドが行うことになっています。

Uuencodeが動作するように設計された世界では、MIMEがまだ存在しないため、添付ファイルなどはありません。 uuencodeされたものを含むメッセージを受信する人は、次のように表示するはずです。

From: Alice <[email protected]>
To: Bob <[email protected]>
Subject: Those files you requested

Here you go:

begin 644 something.tar.Z
M'YV04HH$(=*D"("#"!,J7,BPH<.'$"-*1`BC(@P;%0%8C'$#H\:*'#U:'%EQ
M1@T`,63<F!&CQHP;,&3,T!@#QLJ9(&!,W,FSI\^?`.K,H1-&#@@0`-*02?.&
M#E"&2IDZ?4JUJM6K6+-JE9CE31T08<;0J1.&#9L\(,K@H2,G+)TR9$#009-F
MS@\%6_/JW<NWK]^_@`,+'DRXL.'#B!,K7LRXL>/'D"-+GDRYLN7+F#-KWLRY
ML^?/H$.+'DVZM.G3J%.K7LVZM>O7L&/+GDV[MNW;N'/KWLV[M^_?P(,+'TZ\
JN/'CR),K7\Z\N?/GT*-+GTZ]NO7KV+-KW\Z]N_?OX,.+'T^^O/GSZ',#
`
end

-- 
Alice

受信者は、beginからendまでの行がuuencodeされたファイルであることを認識し、それらの行(またはメッセージ全体)をuudecodeにパイプして、現在のディレクトリにある出力ファイル。

これはMIME添付ファイルのデコードによく似ていますが、ユーザーの頭の中で大きな部分が発生します。

最近のメールリーダーの中には、uuencodeされたコンテンツを自動的に認識し、単一のユーザーインターフェイスを使用して、uuencodeされたファイルとMIME添付ファイルの両方を表示するものがあります。それが実際に送信されたもの、つまりプレーンテキスト(非MIME)メッセージを誤って表すので、私は古典的なUNIXメールリーダーがそれをすることを期待しません。

7
user41515

mailxユーティリティの一部の実装では、添付ファイルを送信できません。その他(Linuxなど)には、ファイル名を値として取る-Aフラグがあります。

したがって、Linuxを使用している場合は、mailxを使用する前に、uuencodeされたデータをファイルに書き込む必要があります。

$ uuencode test.txt test_attachment.txt >file.uue
$ mailx -A file.uue -s "testing" [email protected] </dev/null

これにより、空の本文と[email protected]からの添付ファイルを含むメールがfile.uueに送信されます。

2
Kusalananda

ほぼ2年後ですが、Linuxではuuencodeまたはメールが壊れているようです。または、おそらく正常に動作していますが、Outlookが壊れています。知るか?

uuencode a.gz a.gz | mail -s "linuxからのuuencodeのテスト" [email protected]

uuencode a.gz a.gz | mail -s "aixからのuuencodeのテスト" [email protected]

Linuxから送信すると、Outlookはインラインuuencodeコードを表示します。 AIXから送信すると、Outlookはそれを添付ファイルとして表示します。同じコマンド、同じメールリレー、異なるOS、異なる結果。ああ、多分それはsendmail(aix)対postfix(linux)ですか?とにかく、破損の場所について独自の結論を導きます。

ああ、本当の答えを出すために... mailx -a a.gz -s "subject" [email protected]

0
Alex Paschal