« CSSを改善する10項目の注意事項 | トップページ | 真夏の怪談(コンピュータ系) »

2006/06/29

smtplib (Python)

ブックマークに追加する

リンク:smtplib -- SMTPプロトコルクライアント
リンク:smtplib -- SMTP protocol client

最近、Pythonのsmtplibを使う機会があったので、気がついたことをメモ

1.使い方は簡単で

import smtplib
s = smtplib.SMTP('localhost')
s.sendmail(<from>,<to>,<msg>)

でメールを送信することが出来る。
# もちろん、このスクリプトはSMTPが稼働している環境で実行する必要あり。

2.メソッド「sendmail」の宛先<to>に複数の宛先を指定したい場合は、リスト型のデータ形式を予め組み立てておく必要がある。
# ここで、単なるカンマやセミコロン区切りの文字列を設定した場合、最初の宛先のみにメールが送信される。

3.CcやBccの宛先も、メソッド「sendmail」の宛先<to>にリスト型データの要素として含まれている必要がある。
# もちろん、CcやBccは3番目の引数で渡されるMIMEメッセージの中でヘッダとして含まれている必要がある

4.送信メッセージ<msg>は予めMIMEを組み立てておき、印刷形式を指定する。
MIMEメッセージの組み立てには

from email.MIMEMultipart import MIMEMultipart
msg = MIMEMultipart()
.....

といった記述が必要。
添付ファイルを付加する場合には、MIMEの組み立て方法に従って、順次追加しておけば良い

5.MIMEの組み立て後の項目の指定方法の具体的な形式は

s.sendmail(msg['From'], addrlist, msg.as_string())

となる。


●お探し物は見つかりましたか?まだの方は以下の検索をご利用下さい。
 
当ブログ内 (within this blog) Web
●当ブログのRSSフィードをお手持ちのRSSリーダーにご登録いただくと、エントリ追加時のみ更新通知が届くため、確認の手間が省けます。よろしければ、どうぞ。
当ブログのRSSフィード

|

Python」カテゴリの記事

コメント

こんにちは。
Bcc: する場合ですが、msg['Bcc'] = "someaddress@example.jp" などとするのは丁寧ですが、
必ずしも必要でなく、s.sendmail()の第2引数で To: や Cc: の宛先と一緒に Bcc: 宛先も書いておけばメイルとしては送られるようです。
こういう理解で良いのかな。(も)

投稿: moto | 2008/10/16 19:13

motoさん、

Bccをメールヘッダに含めずに送るという発想は無かったです。
でも、Bcc本来の目的(他人に知られずにコピーを送る)はそれでも達成出来るので、送信者本人が後で判らなくなるぐらいの不都合しかありませんね。
それはちょっと微妙な気もしますが...

投稿: Inetgate | 2008/10/17 07:57

コメントを書く

●コメントを記入される方へのご注意
コメント記入時には、お名前(本名以外にハンドル名やニックネームも可)、メールアドレス(当ブログ管理人の確認用)、URL(お持ちのブログやウェブサイトのURL)を忘れずに入力して下さい。特にURLの記入を忘れると、ココログの仕様上、表示されるお名前の属性にメールアドレスが付いてしまいます。URLが入力されていれば、メールアドレスは表示されませんので、ご留意下さい。
なお、コメント記入時において、SPAM防止措置を講じておりますが、時々、SPAMの削除が遅れる場合があります。当ブログ管理人は大体1日に一回程度の頻度で状況を確認していますので、不適切なコメントはスルーでお願いします。
For foreigners: To avoid spammer activities, your comment will be reflected after some hours.  Thanks for your patience.




コメントは記事投稿者が公開するまで表示されません。





●Google広告


●その他の広告



トラックバック

この記事のトラックバックURL:

●トラックバックされる方へのご注意
本文中でこのエントリのアドレスを引用してください。引用(言及リンク)がない場合はスパム(迷惑行為)として削除します。
なお、迷惑行為かどうかを人力で判定しているため、トラックバックが反映されるまでに少々、お時間を頂いています。
For foreigners: If you would like to trackback to this entry, please include permlink of this entry in your entry. If your entry doesn't include this permlink, I will delete your trackback as spam.

この記事へのトラックバック一覧です: smtplib (Python):

 
Google