sendmailで添付ファイルを送るには?

[上に] [前に] [次に]
奈良垣 [E-Mail] [HomePage] 1998/04/26(日) 22:38:32
sendmailで添付ファイルを送るにはどうすればよいのでしょうか?
ログファイルを添付ファイルとして送りたいのですが、可能でしょ
うか・・・?どうぞ宜しくお願いいたします。

奈良垣

B-Cus 1998/04/27(月) 05:09:42
ヘッダ
Content-Type: Multipart/Mixed;
        boundary="適当な文字列"
(空行)
boundaryの文字列
Content-Type: .....
(空行)
一つ目の文章
(空行が必要?いらないと思うけど念のため)
boundaryの文字列
Content-Type: .....
(空行)
二つ目の文章
(空行が必要?いらないと思うけど念のため)
boundaryの文字列

かなぁ? boundaryは本文中にでてこないようなuniqueなものが
求められます。例としては「--Next_Part(Mon_May_12_08:21:09_1997)--」
などのように、日時を含めてたりします。

で、こんな感じの文字列をsendmailに送るとどうなりますか?


open(SENDMAIL,"|sendmail your@mail.address");
print SENDMAIL <<EOS;
To: your@mail.address
Content-Type: Multipart/Mixed;
        boundary="--Next_Part(Fri_Apr_24_10:10:12_1998_877)--"
Content-Transfer-Encoding: 7bit
From: your@mail.address
Subject: hogehoge

----Next_Part(Fri_Apr_24_10:10:12_1998_877)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

マルチパート1

----Next_Part(Fri_Apr_24_10:10:12_1998_877)--
Content-Type: Message/Rfc822
Content-Transfer-Encoding: 7bit

マルチパート2

----Next_Part(Fri_Apr_24_10:10:12_1998_877)----

close(SENDMAIL);
EOS


念のため、boundary=""の前にはスペース8個入れてください。
あと、できるだけRFCを読んでください。その方が間違いがないですし、
メールを他人に送るつもりなら変なメールを送ると相手に迷惑が
かかりますから。

奈良垣 1998/04/28(火) 06:26:46
B-Cusさん有り難うございました。若干の変更で添付ファイルが
送信できるようになったのでが,添付ファイルに含まれるHTML
タグに悪さをしているようです。解決次第書き込みます。

奈良垣

奈良垣 [E-Mail] [HomePage] 1998/04/29(水) 02:13:22
[[解決]]
base64でエンコードしてから送るようにする事で解決できました。
但し,一部のメールソフトで読めないようですが・・!?

ちなみに,エンコードのスクリプトは,base64.plです。どこから
ダウンロードしたか覚えていませんが,Infoseekで"base64.pl"を
検索すれば出てくるはずです。

今月の課金が恐ろしいですが。。。何とか動作してくれたので
ほっ!B-Cusさん有り難うございました。

奈良垣

B-Cus 1998/04/30(木) 22:55:50
> 添付ファイルに含まれるHTMLタグに悪さをしているようです。

ということは、僕が例として出しものはうまく動く(はず)、と
思っていいですか?

> 添付ファイルに含まれるHTMLタグに悪さをしているようです。

マルチパートメールなぞ送ったことがないので、うちに届いていた
メールを見比べて書きました。ですから形式としては不正確なので
しょう。詳しくはRFCをご覧ください。

奈良垣 1998/05/01(金) 07:32:42
参考にされたメールは恐らくMSのOUTLOOKで送信されたものだと思
います。私もB-Cusさんに意見を頂いた後でチェックしたところ、
同様のリストがでてきました。ただ、この形式だとNSやその他の
メールソフトでうまく動作しないようです。base64形式にエンコ
ードしてから送る方が汎用性があるようです(メールソフトは3
本しか試していませんが・・・)。

奈良垣

B-Cus 1998/05/02(土) 20:53:41
なるほど。機会があったら、RFC読んで正しい規格を
調べて見たいと思います。

[上に] [前に] [次に]