環境:Windows10 pro
python 3.9
VsCode
勉強の為に
pythonからコードを書いてメールをテスト送信しました。
from email import message
import smtplib
smtp_host = 'smtp.gmail.com'
smtp_port = 587
use_smtps = any
from_email ='#####@gmail.com'
to_email = '####@outlook.jp'
username = '####@gmail.com'
password = ''
msg = message.EmailMessage()
msg.set_content('Test email')
msg['Subject'] = 'Test email sub'
msg['From'] = from_email
msg['To'] = to_email
server = smtplib.SMTP(smtp_host, smtp_port)
server.ehlo()
server.starttls()
server.ehlo()
server.login(username, password)
server.send_message(msg)
server.quit()
パスワードはメールアカウントのパスワードと思い入力しました。
しかし、以下のエラーが発生。
例外が発生しました: SMTPAuthenticationError (534, b'5.7.9 Application-specific password required. Learn more at\n5.7.9 https://support.google.com/mail/?p=InvalidSecondFactor ot7sm2836890pjb.21 - gsmtp')
以下が参考になりました。
Pythonでメール(gmail)を送信できない場合の解決法
パスワードはgoogleはメールのパスワードではなくアプリパスワードを入力する。
password = 'googleアプリパスワード'
Gmailにメールが送信できました。