メール送信の自動化の第一歩ですね
サンプルソース解説
メール送信ソースコードの解説をします
SMTPメール設定
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import smtplib SMTP = "" FROM_MAIL_ADDRESS = "" TO_MAIL_ADDRESS = "" PASSWORD = "" #SMTPメール設定 smtpobj = smtplib.SMTP(SMTP, 587) smtpobj.ehlo() smtpobj.starttls() smtpobj.ehlo() smtpobj.login(FROM_MAIL_ADDRESS, PASSWORD) |
MIMETextからメールオブジェクトを作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from email.mime.text import MIMEText from email.utils import formatdate #件名 subject = "メール送信テスト" #送信元メールアドレス from_mail_address = FROM_MAIL_ADDRESS #宛先メールアドレス to_mail_address = TO_MAIL_ADDRESS #メッセージ本文 「'''」で囲むと改行含め文字列として送信可能 message = '''メール本文 改行テスト1 改行テスト2 ''' #メール送信情報オブジェクトを作成 msg = MIMEText(message) #メール作成 msg['Subject'] = subject msg['From'] = from_mail_address msg['To'] = to_mail_address msg['Date'] = formatdate() |
メール送信
1 2 3 |
#メール送信 smtpobj.sendmail(from_mail_address, to_mail_address, msg.as_string()) smtpobj.close() |
HTML形式はMIMETextを変更するだけ
1 2 3 4 5 6 7 8 |
#メッセージ本文 「'''」で囲むと改行含め文字列として送信可能 message = ''' <h1>テスト</h1> <h2>テスト</h2> <h3>テスト</h3> ''' #メール送信情報オブジェクトを作成 msg = MIMEText(message, 'html') |
サンプルソースコード全文
サンプルソースの全文です
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
####################################################### #SMTPメール送信 ####################################################### import smtplib SMTP = "" FROM_MAIL_ADDRESS = "" TO_MAIL_ADDRESS = "" PASSWORD = "" #SMTPメール設定 smtpobj = smtplib.SMTP(SMTP, 587) smtpobj.ehlo() smtpobj.starttls() smtpobj.ehlo() smtpobj.login(FROM_MAIL_ADDRESS, PASSWORD) from email.mime.text import MIMEText from email.utils import formatdate #件名 subject = "メール送信テスト" #送信元メールアドレス from_mail_address = FROM_MAIL_ADDRESS #宛先メールアドレス to_mail_address = TO_MAIL_ADDRESS #メッセージ本文 「'''」で囲むと改行含め文字列として送信可能 message = '''メール本文 改行テスト1 改行テスト2 ''' #メール送信情報オブジェクトを作成 msg = MIMEText(message) #メール作成 msg['Subject'] = subject msg['From'] = from_mail_address msg['To'] = to_mail_address msg['Date'] = formatdate() #メール送信 smtpobj.sendmail(from_mail_address, to_mail_address, msg.as_string()) smtpobj.close() |
CCやBCCの指定
次のように指定することで
CC、BCCの指定が可能です
1 2 3 4 5 6 7 |
#メール作成 msg['Subject'] = subject msg['From'] = from_mail_address msg['To'] = to_mail_address msg['Cc'] = cc_mail_address msg['Bcc'] = bcc_mail_address msg['Date'] = formatdate() |
カンマ区切りで、メールアドレスを指定すると
複数の宛先を指定できます
まとめ:Python SMTPメール送信によりメール送信を自動化へ
SMTPメール送信を解説しました
私の場合、自動化した機能でエラーになった場合に
自分のメールアドレスから自分のメールアドレスへ
エラー通知メールを送信しています
コメント