2011年4月21日木曜日

python でメールを送信するテスト

python でメールを送信すると、こうなる。
#!/usr/bin/python
# coding: utf-8

import smtplib

from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import formatdate

from_addr = 'watari@hogefuga'
to_addr = 'watari@fugafuga'
subject = u'メール送信テスト'
body = u'''SMTP 通信によるメール送信テストです。
これは改行されるかな?'''

encoding = 'iso-2022-jp'

msg = MIMEText(body.encode(encoding), 'plain', encoding)
msg['Subject'] = Header(subject, encoding)
msg['From'] = from_addr
msg['To'] = to_addr
msg['Date'] = formatdate()

s = smtplib.SMTP('メールサーバ', 25)
s.sendmail(from_addr, to_addr, msg.as_string())
s.close()
三重クォートで囲むと、改行文字列が表現できる。 クオートの前にある小文字の "u" は、Unicode 文字列を生成 することになっていることを示す。 2011.04.25 追記
s = smtplib.SMTP('メールサーバ', 25)
s.sendmail(from_addr, to_addr, msg.as_string())
s.close()
を、
s = smtplib.SMTP('メールサーバ', 465)
s.login('ユーザ名','パスワード')
s.sendmail(from_addr, to_addr, msg.as_string())
s.close()
とすると、SMTP-AUTHの通信が可能。

0 件のコメント:

コメントを投稿

DNS named.root 更新確認スクリプト

#!/bin/bash # DNSのnamed.rootファイルの更新確認スクリプト # 最新版のnamed.rootファイルを取得し、差分を確認する。 # 更新履歴 # 2014.02.07 watari # お約束 export LANG=C ## 実行ディレクトリ #PR...