プログラミング PR

【SMTP】PythonでGmailを自動送信する方法

python-gmail
記事内に商品プロモーションを含む場合があります

電子メールはチャットが流行っている現代でも重要なコミュニケーション手段の一つです。

本記事ではそんな電子メール、特にGmailの送信をPythonを使って自動化する方法について解説していきたいと思います(^^)

Gmailを利用するにはGoogleアカウントが必要です。本記事ではアカウントを既に持っている前提で解説をしているので注意してください。

メール送信を自動化することができれば定期的な連絡業務から解放されるのに加えてヒューマンエラーを解消することができるでしょう。

python-sidejob-start
【土日リモートOK】Pythonを使った副業の始め方とおすすめの案件獲得サイト20選Pythonのスキルを活かして副業収入を得たい人向けに本記事では副業の始め方と週1,2日や土日リモートで働ける案件を扱うおすすめのサイトを現役エンジニア目線で厳選して紹介しております。...
python-job-change
【2024年最新】Pythonエンジニアにおすすめの転職エージェント10選「転職エージェントって沢山あるけど結局どこに登録すればいいの?」このように思われているPythonエンジニアの方が多いのではないでしょうか?本記事では上記の悩みを解消すべく、Pythonエンジニアにおすすめの転職エージェントを厳選して10社ご紹介しております。...

SMTP経由でPythonからGmailを手軽に自動送信する

nocode-sidejob

Pythonからメールを送信するにはSMTPを使うのが手軽で簡単な方法と言えるでしょう。

そもそもSMTPとは?

SMTPとは、Simple Mail Transfer Protocolの略で、メールの送信プロトコルです。

SMTP経由でのメール送信はGmailで推奨されていないため次章で解説する「安全性の低いアプリ」のアクセスを有効にする設定が必要となる。

※上記理由からSMTP経由でPythonのプログラムからメールを自動送信する手法はあくまで簡易的な業務効率化くらいの位置づけで考えておいた方が無難というのが私の意見です。

PythonでSMTPを扱う際はsmtplibモジュールを利用する

PythonのプログラムでSMTPを扱うにはsmtplibモジュールを利用します。

smtplibモジュールはPythonに標準で搭載されているためターミナルからpipコマンドなどで別途インストールする必要はありません。

Pythonからメールを送信するにはSMTPを使うのが手軽で簡単。smtplibモジュールを利用することで簡単にプログラムを実装することができる。

 

SMTP経由でPythonからGmailを自動送信するのに必要な事前準備

programming-people

まずはGoogleアカウントにアクセスして左側メニューのセキュリティをクリックします。

Googleアカウント設定

そして上画像の通り「安全性の低いアプリのアクセス」パネルにてアクセスを有効にするをクリックすれば事前準備は完了です。

実際にGmailの自動送信プログラムをPythonで書いてみよう

object

前章までの内容で事前準備は整ったので、実際にSMTP経由でGmailを自動送信するプログラムをPythonで書いてみましょう(^^)

以下、PythonからSMTP経由でGmailを自動送信するプログラムのサンプルです。なお、コード内に記載のMIME形式については後述します。

import smtplib, ssl
from email.mime.text import MIMEText

# Gmail設定
my_account = 'XXX@gmail.com'
my_password = 'XXXXXXXX'

def send_gmail(msg):
    """
    引数msgをGmailで送信
    """
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465, context=ssl.create_default_context())
    # ログ出力
    server.set_debuglevel(0)
    # ログインしてメール送信
    server.login(my_account, my_password)
    server.send_message(msg)

def make_mime(mail_to, subject, body):
    """
    引数をMIME形式に変換
    """
    msg = MIMEText(body, 'plain') #メッセージ本文
    msg['Subject'] = subject #件名
    msg['To'] = mail_to #宛先
    msg['From'] = my_account #送信元
    return msg

def send_my_message():
    """
    メイン処理
    """
    # MIME形式に変換
    msg = make_mime(
        mail_to='XXX@gmail.com', #送信したい宛先を指定
        subject='テスト件名',
        body='テストです。テストです。テストです。')
    # gmailに送信
    send_gmail(msg)

if __name__ == '__main__':
    send_my_message()

コード内に出てきたMIMEとは、Multipurpose Internet Mail Extensionsの略で、標準の電子メールデータの規格になります。

MIMEはメール処理の自動化には欠かせない知識ですので、この機会にMDN Web Docsなどのサイトで学習してみることをオススメします。

とりあえず上記のコードを活用すれば基本的なGmailの自動送信処理は実装することができるはずです。

 

【SMTP】Pythonを使ったGmailの自動送信|まとめ

python-gmail

ここまでPythonを使ったSMTP経由でのGmail自動送信のやり方について解説してきましたがいかがだったでしょうか?

本記事の内容はあくまで入門レベルですので、これから専門書やサイトなどを参考にしてスキルを磨いていく必要があります。

その歩みの第一歩として本記事の内容が少しでもあなたのお役に立てたのなら幸いです。

python-sidejob-start
【土日リモートOK】Pythonを使った副業の始め方とおすすめの案件獲得サイト20選Pythonのスキルを活かして副業収入を得たい人向けに本記事では副業の始め方と週1,2日や土日リモートで働ける案件を扱うおすすめのサイトを現役エンジニア目線で厳選して紹介しております。...
python-job-change
【2024年最新】Pythonエンジニアにおすすめの転職エージェント10選「転職エージェントって沢山あるけど結局どこに登録すればいいの?」このように思われているPythonエンジニアの方が多いのではないでしょうか?本記事では上記の悩みを解消すべく、Pythonエンジニアにおすすめの転職エージェントを厳選して10社ご紹介しております。...
python-freelance
【2024年最新】Pythonエンジニアにおすすめのフリーランスエージェント25選 このような方向けに本記事ではPythonエンジニアにおすすめのフリーランスエージェントを現役エンジニア目線で厳選して25社ご紹介...
engineer-book
【脱初心者】エンジニアなら絶対に読むべき本おすすめ30選を現役エンジニアが紹介エンジニアの方におすすめしたい本を厳選して30冊ご紹介。技術書はもちろん、エンジニアに必要なロジカルシンキングやコミュニケーションスキルについて学べるビジネス書も紹介しております。...
こちらの記事もおすすめ!

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です