12

Python を使用してメールを送信しようとしていますが、ローカルの SMTP サーバーを使用しているにもかかわらず、認証が必要なようです。実行したコードと表示されるエラーを以下に示します。サーバーでポート 25 を開くことができないため、ポート 587 を使用します。ポート 587 で Python を使用してローカル SMTP サーバーをセットアップする方法を教えてください。

>>> import smtplib
>>> from email.mime.text import MIMEText
>>> msg = MIMEText('Test body')
>>> me = 'support@mywebsite.com'
>>> to = 'myemail@gmail.com'
>>> msg['Subject'] = 'My Subject'
>>> msg['From'] = me
>>> msg['To'] = to
>>> s = smtplib.SMTP('localhost', 587)
>>> s.sendmail(me, [to], msg.as_string())

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/smtplib.py", line 722, in sendmail
    raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (530, '5.7.0 Authentication required', 'support@mywebsite.com')
4

1 に答える 1

37

次に、使用する前に、使用s.sendmailしますs.login('user', 'password')- http://docs.python.org/2/library/smtplib.html#smtplib.SMTP.login

ログインの詳細がわからない場合は、システム管理者に相談してください。

于 2013-01-07T13:09:40.127 に答える