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読んで正しい規格を
調べて見たいと思います。
[上に]
[前に]
[次に]