久しぶりにPythonからYahooのメールサーバーからメールを送信しようとしたところ送信できませんでした。
セキュリティ強化のためSSLを使う必要があるようなのでスクリプトを修正してみました。
PythonでYahooのメールサーバからメールを送信するサンプル
Yahooのメールサーバーからメールを送信するサンプルになります。 Yahooアカウントは私を含め多くの方がお持ちだと思います。 スクリプトからメールが送信出来ると何かと重宝しますが、いざ送信するとなるとSMTPサーバーのアドレスやポート、...
セキュリティ強化のためSSLを使う必要があるようなのでスクリプトを修正してみました。
import smtplib
from email.mime.text import MIMEText
# メールを送信
def send_mail(subject, message):
from_addr = "送信元のメールアドレス(Yahooアカウントユーザー名)"
to_addr = "送信先のメールアドレス"
user_name = from_addr
passwd = "Yahooアカウントのパスワード"
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = from_addr
msg['To'] = to_addr
smtp = smtplib.SMTP_SSL("smtp.mail.yahoo.co.jp", 465)
smtp.login(user_name, passwd)
smtp.sendmail(from_addr, to_addr, msg.as_string())
smtp.quit()
send_mail("件名", "本文UTF8")
修正点
smtplib.SMTP( → smtplib.SMTP_SSL(
ポート番号を465に変更
私事なのですが、今回Yahooメールのセキュリティ強化に気が付いたことで、数カ月間Yahooメールをチェックしていない事実に気が付きました。YahooメールのアカウントのメールクライアントとしてGmailを使っているのですが、メール取得の設定変更をすることにします。
コメント