Python3.3でメール送信

Python3.3でメールを送信してみたいと思います。Pythonでメールの送信処理は、通信部分をsmtplibモジュールが担当し、MIME文書構築部分をemailモジュールが担当する構成になっています。

  1. まず、Python開発環境のIDLEを起動したら、[Ctrl]+Nで新規ファイルを作成します。
  2. Gメールでメールを送信してみたいと思います。

下記のようにコードを記述します。

import smtplib
from email.mime.text import MIMEText
from email.header import Header
jp='iso-2022-jp'
#Gメールでメール送信
gm=smtplib.SMTP('smtp.gmail.com',587)
gm.ehlo()
gm.starttls()
gm.ehlo()
gm.login('nakada@gmail.com','mygmailpassword')
message=MIMEText(
 'このメールはPythonで送信しています。'.encode(jp),
 'plain',
 jp,
)
message['Subject']=str(Header('こんにちはPython',jp))
message['From']='nakada@gmail.com'
message['To']='nakada@docomo.ne.jp'
gm.sendmail(
 'nakada@gmail.com',
 ['nakada@docomo.ne.jp'],
 message.as_string(),
)
gm.close()
    • 1行目:smtblibモジュールをインポートします。
    • 2-3行目:emailモジュールからMIMETextメソッドと、Headerメソッドをインポートします。
    • 4行目:日本語でメールを送信するために、メールの文字コードを変数jpに代入します。
    • 6行目:smtblibモジュールのSMTPメソッドで、Gメールを指定して、インスタンス化します。
    • 7行目:ESMTPサーバーに身元を明かします。
    • 8行目:TLSモードで通信します。
    • 9行目:ehlo()は、再度呼ばなければなりません。
    • 10行目:送信に使うGメールアドレスとパスワードを指定して、SMTPサーバーに接続します。
    • 11-15行目:MIMEメッセージオブジェクトを生成します。
    • 12行目:本文はエンコード済みの文字列を渡しますので、’iso-2022-jp’でエンコードします。
    • 13行目:プレーンテキストメールを指定します。
    • 14行目:文字コード(iso-2022-jp)を指定します。
    • 16行目:ヘッダー情報は、日本語部分をHeaderに渡した後にStrへ型変換します。
    • 19-23行目:sendmailメソッドでメールを送信します。
    • 22行目:メッセージ全体をフラットな文字列として返します。
    • 24行目:SMTPサーバーから切断します。

ファイルを保存したら、キーボードからF5を押すと、メールが送信されます。

本日は以上です。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

このページの先頭へ