logo

Python SMTP を使用して電子メールを送信する

Python を使用して電子メール転送を処理するプロトコルとして、Simple Mail Transfer Protocol (SMTP) が使用されます。電子メール サーバー間で電子メールをルーティングするために使用されます。これは、ユーザーが別のユーザーにメールを送信できるようにするアプリケーション層プロトコルです。受信者はプロトコルを使用して電子メールを取得します。 POP(ポストオフィスプロトコル) そして IMAP(インターネットメッセージアクセスプロトコル)

Python SMTP を使用して電子メールを送信する

サーバーはクライアントからの TCP 接続をリッスンするときに、ポート 587 で接続を開始します。

YouTube VLCからビデオをダウンロード

Python が提供するのは、 smtplib モジュール。インターネット マシンに電子メールを送信するために使用される SMTP クライアント セッション オブジェクトを定義します。この目的のために、 smtplib import ステートメントを使用してモジュールを作成します。

 $ import smtplib 

SMTP オブジェクトは電子メール転送に使用されます。 smtplib オブジェクトの作成には次の構文が使用されます。

 import smtplib smtpObj = smtplib.SMTP(host, port, local_hostname) 

次のパラメータを受け入れます。

    ホスト:これは、SMTP サーバーを実行しているマシンのホスト名です。ここでは、サーバーの IP アドレス ( https://www.javatpoint.com ) または localhost を指定できます。これはオプションのパラメータです。ポート:これは、ホスト マシンが SMTP 接続をリッスンしているポート番号です。デフォルトでは 25 です。ローカルホスト名:SMTP サーバーがローカル マシンで実行されている場合は、ローカル マシンのホスト名を指定できます。

SMTP オブジェクトの sendmail() メソッドは、目的のマシンにメールを送信するために使用されます。構文を以下に示します。

 smtpObj.sendmail(sender, receiver, message) 

git status -s
 #!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email') 

Gmailからメールを送信する

GmailのSMTPサーバーを利用してメールが送信される場合があります。この場合、ポート 587 のローカルホストを使用する代わりに、SMTP サーバーとして Gmail を渡すことができます。

次の構文を使用します。

 $ smtpObj = smtplib.SMTP('gmail.com', 587) 

ここでは、Gmail のユーザー名とパスワードを使用して Gmail アカウントにログインする必要があります。この目的のために、smtplib は送信者のユーザー名とパスワードを受け入れる login() メソッドを提供します。

メール

これにより、Gmail を使用している場合、安全性の低いアプリへのアクセスを要求される可能性があります。これを機能させるには、これを一時的にオンにする必要があります。

Python SMTP を使用して電子メールを送信する

次の例を考えてみましょう。

Java配列
 #!/usr/bin/python3 import smtplib sender_mail = '[email protected]' receivers_mail = ['[email protected]'] message = '''From: From Person %s To: To Person %s Subject: Sending SMTP e-mail This is a test e-mail message. '''%(sender_mail,receivers_mail) try: password = input('Enter the password'); smtpObj = smtplib.SMTP('gmail.com',587) smtpobj.login(sender_mail,password) smtpObj.sendmail(sender_mail, receivers_mail, message) print('Successfully sent email') except Exception: print('Error: unable to send email') 

HTMLをメールで送信する

MIME バージョン、コンテンツ タイプ、文字セットを指定して HTML を送信することで、メッセージ内の HTML をフォーマットできます。

次の例を考えてみましょう。

 #!/usr/bin/python3 import smtplib sender_mail = &apos;[email protected]&apos; receivers_mail = [&apos;[email protected]&apos;] message = &apos;&apos;&apos;From: From Person %s To: To Person %s MIME-Version:1.0 Content-type:text/html Subject: Sending SMTP e-mail <h3>Python SMTP</h3> <strong>This is a test e-mail message.</strong> &apos;&apos;&apos;%(sender_mail,receivers_mail) try: smtpObj = smtplib.SMTP(&apos;localhost&apos;) smtpObj.sendmail(sender_mail, receivers_mail, message) print(&apos;Successfully sent email&apos;) except Exception: print(&apos;Error: unable to send email&apos;)