Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonを使用してGmailアカウントからメールを送信する


この記事では、Pythonを使用して添付ファイル付きのメールを送信する方法を説明します。メールを送信するために、外部ライブラリは必要ありません。 Pythonに付属しているSMTPlibと呼ばれるモジュールがあります。 SMTP(Simple Mail Transfer Protocol)を使用してメールを送信します。メーリング用のSMTPクライアントセッションオブジェクトを作成します。

SMTPには、有効な送信元と宛先の電子メールID、およびポート番号が必要です。ポート番号はサイトによって異なります。例として、グーグルの場合、ポートは 587

まず、メールを送信するためにモジュールをインポートする必要があります。

import smtplib

ここでは、MIME(Multipurpose Internet Mail Extension)モジュールを使用して柔軟性を高めています。 MIMEヘッダーを使用して、送信者と受信者の情報およびその他の詳細を保存できます。

メールの送信にはGoogleのGmailサービスを使用しています。したがって、Googleのセキュリティのために、いくつかの設定(必要な場合)が必要です。これらの設定が設定されていない場合、Googleがサードパーティのアプリからのアクセスをサポートしていないと、次のコードが機能しない可能性があります。

アクセスを許可するには、Googleアカウントで「安全性の低いアプリアクセス」設定を設定する必要があります。 2段階認証プロセスがオンになっている場合、安全性の低いアクセスを使用することはできません。

この設定を完了するには、Googleの管理コンソールに移動し、安全性の低いアプリの設定を検索してください。

<中央> Pythonを使用してGmailアカウントからメールを送信する

SMTP(smtplib)を使用して添付ファイル付きのメールを送信する手順

  • MIMEを作成する
  • 送信者、受信者のアドレスをMIMEに追加します
  • メールタイトルをMIMEに追加します
  • 本文をMIMEに添付します
  • 適切なセキュリティ機能を備えた有効なポート番号でSMTPセッションを開始します。
  • システムにログインします。
  • メールを送信して終了します

サンプルコード

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
mail_content = '''Hello,
This is a simple mail. There is only text, no attachments are there The mail is sent using Python SMTP library.
Thank You
' ' '
#The mail addresses and password
sender_address = 'sender123@gmail.com'
sender_pass = 'xxxxxxxx'
receiver_address = 'receiver567@gmail.com'
#Setup the MIME
message = MIMEMultipart()
message['From'] = sender_address
message['To'] = receiver_address
message['Subject'] = 'A test mail sent by Python. It has an attachment.'   #The subject line
#The body and the attachments for the mail
message.attach(MIMEText(mail_content, 'plain'))
#Create SMTP session for sending the mail
session = smtplib.SMTP('smtp.gmail.com', 587) #use gmail with port
session.starttls() #enable security
session.login(sender_address, sender_pass) #login with mail_id and password
text = message.as_string()
session.sendmail(sender_address, receiver_address, text)
session.quit()
print('Mail Sent')

出力

D:\Python TP\Python 450\linux>python 327.Send_Mail.py
Mail Sent

<中央> Pythonを使用してGmailアカウントからメールを送信する
  1. 修正:Gmail メッセージが配信されない。メールの送信機能を使用して、別のアドレスまたはエイリアスからこれを送信しています (解決済み)

    Gmail のエラー メッセージ「メッセージが配信されませんでした。Send mail as 機能を使用して、別のアドレスまたはエイリアスからこれを送信しています」は、メールの送信に使用した追加のメール アカウントが正しく設定されていないことを意味します。 GMAIL を使用すると、自分に属する別のメール アドレスを使用してメールを送信できます (Send mail as)。この機能を利用するには、使用する電子メール アカウントに必要な設定 (ユーザー名、パスワード、SMTP サーバー) を Gmail アカウントの設定に正しく追加する必要があります。そうしないと、電子メールの送信後に次の

  2. Gmail アカウントを削除する方法

    場合によっては、ショッピング サイトからのスパム メールや広告にうんざりしている、古い Gmail アカウントをもう使用していない、またはアカウントが侵害された疑いがある。そのような場合、その Gmail アカウントを削除しても、YouTube と Google アカウントはそのままにしておくことができます。 Gmail アカウントを簡単に削除できることがわかりました。ただし、アカウントを削除する前に、関連するサービスの登録を解除し、銀行に通知し、記録にあるメール アドレスを変更したことを確認してください。さらに、将来必要になる可能性のあるメールをダウンロードまたは保存する必要があります 次の