Pythonいろいろ

python便利!

Python を使用して、 メール を 送信する Gmail コピペ 可能

Python + Gmail を使用してメールを送信する方法を記載したいと思います。

今回はGmailを使用します。Gmail側での設定も必要になってきますので、まだの方は先に以下の記事でGmailの設定を行って戻ってきてください。

various-python.hatenablog.com

ではコードを示します。以下のコードをコピペしてもらって、User_Settingの箇所を自身のものに変更してもらうことで、send_mail関数で「Hello world」という内容のメールが送信されます。

User_Settingの変数の意味は以下のとおりです。

SENDER_ADDRESS:送信元メールアドレス

SENDER_APP_PASS:上記の記事で生成したアプリパスワード

RECIPIENT_ADDRESS:送信先メールアドレス

 

「send_mail」関数の引数は以下のとおりです。

第一引数:メールの件名

第二引数:送信内容

 

今回はテストコードなので自分から自分にメールを送るコードを書いていますが、RECIPIENT_ADDRESSの値を相手先メールアドレスに変更すれば、ほかのアドレスに送信することが可能です。


from email import message
import smtplib

#######User Setting##########
SENDER_ADDRESS='abcd@gmail.com'
SENDER_APP_PASS='abcdefghijklmnop'
RECIPIENT_ADDRESS=SENDER_ADDRESS
#############################

def send_mail(title,main_message):
    smtp_host = 'smtp.gmail.com'
    smtp_port = 587
   
    msg = message.EmailMessage()
    msg.set_content(main_message);
    msg['Subject'] = title
    msg['From'] = SENDER_ADDRESS
    msg['To'] = RECIPIENT_ADDRESS
    
    server = smtplib.SMTP(smtp_host, smtp_port, timeout=60)
    server.ehlo()
    server.starttls()
    server.ehlo()
    server.login(SENDER_ADDRESS, SENDER_APP_PASS)
    server.send_message(msg)
    server.quit()
    
send_mail("test mail","hello world")