Python を使用して複数のアドレスにメールを送信する
- Python を使用して複数のアドレスにメールを送信する
-
Python の
smtplib
モジュール -
Python で
smtplib
を使用してメールを送信する - 安全性の低いアプリへのアクセスを制御する
-
Python で
smtplib
を使用してメールを送信する
この記事では、Python プログラミング言語を使用して、さまざまな電子メール アドレスを使用してさまざまな受信者に電子メールを送信する方法を示します。 具体的には、さまざまな人にメールを送信します。
Python を使用して複数のアドレスにメールを送信する
Python は、ウェブサイトを構築したり、人工知能を操作したりするための単なるプログラミング言語ではありません。
バックエンド、フロントエンド、または Web アプリケーションのスタック全体で使用できる言語です。 したがって、その汎用性により、便利なツールになります。
Python は、電子メールの自動化にも使用できる言語に進化しました。 電子メールに関連するタスクは、Python を使用して簡単に自動化できます。
Python を使用して複数の異なる受信者に同時にメールを送信するには、数行のコードが必要です。
この Python の記事では、Python を使用して複数の受信者に同時にメールを送信する方法を示します。
特に smtplib
などのモジュールを使用する場合は、Python を使用してメールを送信することはそれほど難しくありません。 このライブラリは、メール サーバーに接続してメッセージを配信するために必要なすべての処理を行います。
さまざまなアドレスに電子メールを送信できるように、Python スクリプトを構成する手順を順を追って説明します。 さらに、開始時に使用できるサンプルコードもいくつか含まれています。
smtplib
を利用したい場合は、まずサーバーへの接続を確立する必要があります。 ファイルにアクセスするには、サーバーの場所とログインとパスワードを提供する必要があります。
接続が確立されたら、相互にメッセージの送信を開始できます。
メッセージを送信するには、まずメッセージ オブジェクトを作成し、次に from
、to
、およびトピック フィールドのヘッダーを指定する必要があります。 cc
および bcc
受信者を追加することもできます。
メッセージが作成された後、テキスト、HTML、または添付ファイルを追加するオプションが表示されます。
メッセージを送信する準備ができたら、smtplib
モジュールに含まれている sendmail()
関数を使用できます。 この手法では、受信者のリストが必要であり、リスト上の各個人と通信します。
それでは、smtplib
から始めましょう。
Python の smtplib
モジュール
smtplib
は Python の組み込みモジュールです。 クライアント セッション オブジェクトがあります。
smtplib
は、SMTP
クライアント セッション オブジェクトを定義します。 このオブジェクトは、SMTP
または ESMTP
リスナー デーモンを実行している、インターネットに接続された任意のコンピューターに電子メールを配信するために使用できます。
アプリケーション プログラマーは、このモジュールを自分の作業で直接使用することは想定されていません。 システム管理のアクティビティを自動化するスクリプトを作成しているシステム管理者は、このリソースにアクセスできると便利です。
smtplib
モジュール クラス
smtplib
モジュールは以下のクラスを定義します:
SMTP
- SMTP クライアント セッション オブジェクトSMTP_SSL
- SSL 接続を介した SMTP クライアント セッションIMAP4
-IMAP4
クライアント セッション オブジェクトPOP3
-POP3
クライアント セッション オブジェクト
これらのクラスはすべて同じメソッドと属性を持っています。
smtplib
モジュールの例外
smtplib
モジュールでは、次の例外も定義されています。
SMTPException
- すべての SMTP 関連の例外の基本クラス。SMTPServerDisconnected
- SMTP サーバーが予期せず切断されました。SMTPResponseException
- SMTP サーバーが2xx
以外のエラー コードを返しました。SMTPSenderRefused
- SMTP サーバーが送信者のアドレスの受け入れを拒否しました。SMTPRecipientsRefused
- SMTP サーバーがすべての受信者アドレスの受け入れを拒否しました。SMTPDataError
- SMTP サーバーがメッセージ データを受け入れません。SMTPConnectError
- SMTP サーバーに接続できませんでした。SMTPHeloError
- SMTP サーバーがHELO
コマンドに適切に応答しませんでした。SMTPNotSupportedError
- SMTP サーバーは要求された機能をサポートしていません。SMTPAuthenticationError
- SMTP サーバーがユーザー名/パスワードを受け入れませんでした。
Python を使用してメールを送信するというメイン トピックに移りましょう。
Python で smtplib
を使用してメールを送信する
Google が安全性の低いアプリ
による Gmail アカウントへのアクセスを取り締まっていることは周知の事実です。 これは、多くのユーザー、特に Python を使用して Gmail アカウントからメールを送信するユーザーにとって大きな不満の原因となっています。
残念ながら、Google は安全性の低いアプリ
による Gmail アカウントへのアクセスを許可しなくなりました。 Python の smtplib
モジュールを使用して Gmail アカウント経由でメールを送信する場合は、アカウントが安全であることを確認するためにいくつかの追加手順を実行する必要があります。
そのため、まず安全性の低いアプリ
へのアクセスを制御します。
安全性の低いアプリへのアクセスを制御する
ご存知かもしれませんが、Google は安全性の低いアプリ
として知られる機能のサポート提供を停止しました。 この機能により、Microsoft Outlook、Thunderbird、Apple Mail などのプログラムを使用して Gmail アカウントにアクセスできました。
これは苦痛に聞こえるかもしれません。 しかし、それは良いことです! 安全性の低いアプリ
は重大なセキュリティ リスクであり、Google がサポートを終了することで、アカウントを安全に保つことができます。
私たちの場合と同様に、Python の smtplib
が Gmail にアクセスできるようにしたいのですが、心配はいりません! Gmail アカウントのパスワードを入力する必要はありません。
次の簡単な手順に従うことで、安全に切り替えることができます。
-
安全な接続を使用する
Gmail アカウントからメールを送信するときは、常に安全な接続を使用してください。 Gmail は、SSL と TLS の 2 種類の接続を提供します。
SSL (Secure Sockets Layer) は 2つのプロトコルのうち古い方であり、TLS ほど安全ではありません。 ただし、暗号化されていない接続よりも安全です。
TLS (Transport Layer Security) は、SSL よりも新しく、より安全なプロトコルです。 TLS が利用可能な場合、Gmail は自動的に TLS を使用します。
-
Gmail アカウントにログイン
Python モジュール
smtplib
を使用して電子メールを送信する前に、まずアカウントにログインする必要があります。これは、Gmail アカウントから生成された電子メールとパスワードが必要だからです。 -
アカウントの管理
アカウントにログインしたら、Gmail プロファイルのアイコンをクリックする必要があります。
[Manage your Google Account]
のドロップダウンとオプションが表示されます。次のステップに進むには、それをクリックする必要があります。
-
安全
[Google アカウントの管理]
をクリックすると、次のページにリダイレクトされ、セキュリティ
オプションが表示されます。 それをクリックする必要があります。 -
Google へのログイン
セキュリティ
をクリックすると、Gmail の別の部分にリダイレクトされ、Google へのサインイン
オプションが表示されます。下の画像は、
Google へのサインイン
に 2つのオプションがあることを示しています。- 2段階認証
2.アプリパスワード
-
2 段階認証
を有効にするもう 1つの重要なセキュリティ対策は、Gmail アカウントで 2 要素認証を有効にすることです。 2 要素認証は、携帯電話からのコードとパスワードの入力を要求することで、セキュリティをさらに強化します。
まず、
2 段階認証
をオンにする必要があります。 これはとても簡単です。 数秒でできます。 -
アプリ パスワード
2 段階認証が完了したら、
App Passwords
を使用して、Gmail アカウントからパスワードを生成する必要があります。それをクリックすると、以下のページにリダイレクトされます。
Select App
と Select Device
のオプションを確認する必要があります。
私たちの場合、メール
とWindows コンピューター
またはその他のデバイスを選択して、さらに移動してパスワードを取得します。 この後、生成
ボタンをクリックします。
生成
ボタンをクリックすると、別のページにリダイレクトされ、Google がメール用のパスワードを生成したことがわかります。このパスワードは、Python のsmtplib
を使用してメールを送信するときに使用できます。
これで、電子メールのパスワードを安全に生成できました。 Python に移行して、smtplib
を使用してメールを送信できるようになりました。
Python で smtplib
を使用してメールを送信する
smtplib
モジュールを使用すると、Python を使用して簡単にメールを送信できます。 smtplib
を使用してメールを送信するには、いくつかの手順を実行する必要があります。
まず、SMTP オブジェクトを作成する必要があります。 次に、connect()
メソッドを使用してサーバーに接続する必要があります。
最後に、msg.set_content
メソッドを使用してメールを送信できます。 コードのステップを深く掘り下げてみましょう。
-
ライブラリのインポート
最初に
smtplib
をインポートします。 これがプロトコルであり、このプロトコルは電子メールの送信に役立ちます。 -
メールフォーマット
Python でメール形式を使用するには、
email.message import EmailMessage
を使用します。Subject
、From
、To
、Send
のように。 -
電子メールアドレス
次に、電子メールアドレスを逆コンマで書きます。 メールの送信元のメール。
-
パスワード
以前に Gmail で生成したパスワードを書き込みます。
-
Gmail データベースへのアクセス
Gmail のデータベースにアクセスするには、
smtplib.SMTP_SSL('smtp.gmail.com', 465)
を使用します。 これにより、Gmail のデータベースに接続できます。 -
ログイン
ここで、
server.login
コマンドを使用して、生成されたパスワードを使用して電子メールにログインします。 -
送信
v=server.send_message
を使用して、電子メールでメッセージを送信します。 -
印刷する
メールが正常に送信されると、
メールが正常に送信されました
という印刷されたメッセージが表示されます。
コード例:
import smtplib
from email.message import EmailMessage
EMAIL_ADDRESS = "iqraanwar097@gmail.com"
EMAIL_PASSWORD = "***************"
email = EmailMessage()
email["Subject"] = input(str("Email Subject: "))
email["From"] = "Your Name"
email["To"] = "abidork41@gmail.com"
email.set_content("Write Your message here")
server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
server.send_message(email)
server.quit()
print("Email has been sent successfully")
出力:
Email Subject: Email sent using python
Email has been sent successfully
これにより、1つのメール アドレスにメールを送信できます。 ただし、複数のアドレスに電子メールを送信する場合は、電子メールをコンマで区切り、必要な数のアドレスに電子メールを送信できます。
コード例:
import smtplib
from email.message import EmailMessage
EMAIL_ADDRESS = "abs@gmail.com"
EMAIL_PASSWORD = "*************"
email = EmailMessage()
email["Subject"] = input(str("Email Subject: "))
email["From"] = "Your Name"
email["To"] = "abidork41@gmail.com,abidork41@gmail.com,abidork41@gmail.com"
email.set_content("Write Your message here")
server = smtplib.SMTP_SSL("smtp.gmail.com", 465)
server.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
server.send_message(email)
server.quit()
print("Email has been sent successfully to all the addresses")
出力:
Email Subject: I have a news for you all
Email has been sent successfully to all the addresses
私たちの電子メールは、記載されているすべてのアドレスに送信されます。
これで議論は終わりです! Python を使用して、一度に複数の人にメールをすばやく簡単に送信できます。これには、数行のコードしか必要ありません。
この記事が、Python を使用して複数のアドレスにメールを送信する方法を理解するのに役立つことを願っています。
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn