Gmail の無料 SMTP メール サーバー API を使用して Python でメールを送信する方法

Patricia Arquette
リリース: 2024-11-17 13:40:02
オリジナル
253 人が閲覧しました

これは、smtplib と email の 2 つのライブラリだけを使用して、Python で電子メールの送信を開始できる最も簡単な方法です。

この例では、Gmail の無料 RESTful API を使用します。

コードは次のとおりです

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

message = MIMEMultipart()
message["To"] = 'To line here.'
message["From"] = 'From line here.'
message["Subject"] = 'Subject line here.'

title = '<b> Title line here. </b>'
messageText = MIMEText('''Message body goes here.''','html')
message.attach(messageText)

email = 'Your Gmail address here.'
password = 'Your app password here.'

server = smtplib.SMTP('smtp.gmail.com:587')
server.ehlo('Gmail')
server.starttls()
server.login(email,password)
fromaddr = 'From line here.'
toaddrs  = 'Address you send to.'
server.sendmail(fromaddr,toaddrs,message.as_string())

server.quit()
ログイン後にコピー

コードはどのように機能するのでしょうか?

まず、smtplib をインポートしてから、それぞれ email.mime.multipart と email.mime.text から MIMEMultipart と MIMEText をインポートしましょう。

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
ログイン後にコピー

次に、MIMEMultiPart() を呼び出し、それを変数 Message にインスタンス化します。次に、Message、To、From、Subject の各変数に文字列値を与えます。次のようになります。

Message = MIMEMultipart()
Message["To"] = 'To line here.'
Message["From"] = 'From line here.'
Message["Subject"] = 'Subject line here.'
ログイン後にコピー

また、title 変数を使用して電子メールにタイトルを付け、MIMEText() を使用してメッセージを追加し、それを変数 messageText にインスタンス化し、最後にattach() 関数を使用して電子メール メッセージをメイン変数 Message に添付します。次のようになります:

title = '<b> Title line here. </b>'
messageText = MIMEText('''Message body goes here.''','html')
Message.attach(messageText)
ログイン後にコピー

Gmail アドレスとアプリのパスワードを追加しましょう。取得方法がわからない場合は、ここのリンクをクリックしてください:

email = 'Your Gmail address here.'
password = 'Your App password here.'
ログイン後にコピー

次に、Gmail の SMTP サーバーに接続する必要があります。smtplib ライブラリを使用して接続します。接続するサーバーとポート、smtp.gmail.com の 2 つの変数が必要です。それぞれ、587 と 587。

smtplib ライブラリを使用して SMTP 関数を呼び出し、サーバー変数とポート変数を引数として追加します。次のようになります。

smtplib.SMTP('smtp.gmail.com:587') (間に : を忘れないでください)

次に、それを変数サーバーにインスタンス化します。

server = smtplib.SMTP('smtp.gmail.com:587')
ログイン後にコピー

次に、server.ehlo('Gmail') を使用して ehlo ステートメントを追加します。これはドメイン名である必要があります。これは、ESMTP をサポートする別のメール サーバーに電子メールを送信するときに便利です。シンプルにして、Gmail を入力します。

server.ehlo('Gmail')
ログイン後にコピー

また、server.starttls() を使用して TLS プロトコルを開始しましょう。これにより、メール サーバーに安全な接続を通じて電子メールを送信するように指示されます。

server.starttls()
ログイン後にコピー

次に、次の行を使用してメール サーバーにログインします。

server.login(email,password)
ログイン後にコピー

fromaddr と toaddrs をそれぞれ使用して、送信元アドレスと宛先アドレスを追加しましょう。

fromaddr = 'Your Gmail address.'
toaddrs  = 'Destination address.'
ログイン後にコピー

最後に、server.sendmail(fromaddr,toaddrs,message.as_string()) を使用して電子メールを送信し、server.quit():
を使用してメール サーバーへの接続を閉じます。

server.sendmail(fromaddr,toaddrs,message.as_string())
server.quit()
ログイン後にコピー

これを send_email.py というファイルに保存し、Linux の場合はターミナルを開き、Windows の場合はコマンド プロンプトを開き、python send_email.py を使用して起動すると、次のように表示されます。

How to Send Emails in Python Using Gmail’s Free SMTP Mail Server API

何も起こらなければ、うまく機能しているということです!

宛先のメールアドレスにメールが届いているはずです。私が受け取った内容は次のとおりです:

How to Send Emails in Python Using Gmail’s Free SMTP Mail Server API

Python と Gmail の無料 SMTP サーバーを使用して電子メールを送信することは、Python コード内で電子メールの送信を開始できる最も簡単な方法です。これはまさに私が初めてオンライン ビジネスを構築したときに行ったことです。詳細については、こちらをご覧ください。

以上がGmail の無料 SMTP メール サーバー API を使用して Python でメールを送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート