[Armadillo:05699] Re: メール送信について
nakai
email@hidden
2010年 8月 24日 (火) 16:36:56 JST
すみません。
記述方法を変更しました。
再送します。
nakaiです。
デフォルト状態のsmtpclient(mail)では、
ファイルを添付させることができません。
次のようなパッチを当てたものだと可能になります。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
diff --git a/user/smtpclient/smtpclient_main.c b/user/smtpclient/smtpclient_main.c
index bc2316f..ff17d97 100644
--- a/user/smtpclient/smtpclient_main.c
+++ b/user/smtpclient/smtpclient_main.c
@@ -529,7 +529,7 @@ int main(int argc, char **argv)
fprintf(sfp, "Content-Transfer-Encoding: quoted-printable\r\n");
}
- fprintf(sfp, "\r\n");
+ //fprintf(sfp, "\r\n");
fflush(sfp);
/*
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
この修正により、メールヘッダー部分とボディー部分の空行を削除しているため、
ボディーを挿入する前には常に空行を入れる必要があります。
メールを送る場合は、次のように行います。
まず、以下のようなファイルを準備します。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[email@hidden (ttymxc1) /home/ftp/pub]# cat body
Content-Type: multipart/mixed;
boundary="------------050300020102010002000200"
This is a multi-part message in MIME format.
--------------050300020102010002000200
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
attached file: test.txt
--------------050300020102010002000200
Content-Type: text/plain;
name="test.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test.txt"
QXJtYWRpbGxvIFNlcmllcyBGZWF0dXJlcw0KDQogICAgKiBIaWdoIFBlcmZvcm1hbmNlIC8g
TG93IHBvd2VyIGNvbnN1bXB0aW9uDQogICAgICBUaGUgZW1wbG95ZWQgQVJNIGNvcmUgQ1BV
cyBwcm92aWRlIHBlcmZvcm1hbmNlIHdpdGhvdXQgaGVhdCBhbmQgdGhlIG5lZWQgZm9yIGEg
ZmFuLg0KICAgICogTGludXggU3VwcG9ydA0KICAgICAgRW1wbG95aW5nIExpbnV4IChrZXJu
ZWxzIDIuNCBhbmQgMi42KSBhcyB0aGUgc3RhbmRhcmQgb3BlcmF0aW5nIHN5c3RlbSBwcm92
aWRlcyBhY2Nlc3MgdG8gcmljaCBzb2Z0d2FyZSByZXNvdXJjZXMgYW5kIHByb3ZlbiBzdGFi
aWxpdHkuDQogICAgKiBOZXR3b3JrIFJlYWR5DQogICAgICBXaXRoIHRoZSBjb21iaW5hdGlv
biBvZiB0aGUgc3RhbmRhcmQgTEFOIGludGVyZmFjZSAoMTBCQVNFLVQvMTAwLUJBU0UtVFgp
IGFuZCBMaW51eCdzIFRDUC9JUCBwcm90b2NvbCBzdGFjaywgbmV0d29yayByZWFkeSBkZXZp
Y2VzIGNhbiBiZSBlYXNpbHkgZGV2ZWxvcGVkLg0KICAgICogU21hbGwgZm9ybSBmYWN0b3IN
CiAgICAgIFdpdGggYm9hcmRzIHRoZSBzYW1lIHNpemUgYXMgYSBmbG9wcHkgZGlzYyBhdCB0
aGUgYmlnIGVuZCBhbmQgaGFsZiB0aGUgc2l6ZSBvZiBhIGJ1c2luZXNzIGNhcmQgYXQgdGhl
IHNtYWxsIGVuZCwgQXJtYWRpbGxvIGFyZSBhIHRydWx5IHNtYWxsIGZvcm0gZmFjdG9yIHNv
bHV0aW9uLg0KDQpMaW5rcw0KDQogICAgKiBBcm1hZGlsbG8gT2ZmaWNpYWwgU2l0ZTogaHR0
cDovL2FybWFkaWxsby5hdG1hcmstdGVjaG5vLmNvbQ0KICAgICogQXRtYXJrIFRlY2hubywg
SW5jLjogaHR0cDovL3d3dy5hdG1hcmstdGVjaG5vLmNvbQ0KDQoNCg==
--------------050300020102010002000200--
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
本文は、
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
attached file: test.txt
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
のみです。
添付するファイルは、
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: text/plain;
name="test.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="test.txt"
QXJtYWRpbGxvIFNlcmllcyBGZWF0dXJlcw0KDQogICAgKiBIaWdoIFBlcmZvcm1hbmNlIC8g
:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
です。
添付ファイル"test.txt"というものを送ろうとしています。
実際のtest.txtをbase64でエンコードしたものが"QXJtYW..."です。
コマンドは次のようにします。
cat body | ./mail -s "file transfer: test" --smtp-host SMTPサーバ 送り先@ドメイン
以下を参考にしているのでご覧ください。
http://www.perl-labo.org/sendmail/filetemp/
armadillo メーリングリストの案内