Python SMTP Sendmail с TLS - не удалось - PullRequest
0 голосов
/ 19 января 2012

Я написал скрипт на Python для отправки почты и код, как указано ниже:

smtp = smtplib.SMTP(MYMAILSERVER, '587')
try:
    smtp.set_debuglevel(1)
    smtp.ehlo()
    if smtp.has_extn('STARTTLS'):
        smtp.starttls()
        smtp.ehlo()
        smtp.login(MYLOGINNAME, PASSWORD)
        smtp.sendmail(FROM, TO, CONTENT)
finally:
    smtp.quit()

Я получил следующие сообщения:

......
data: (354, 'Start mail input; end with <CRLF>.<CRLF>')
send: 'From: xxxx/r/nTo: yyy/r/nSubject: this is a email from tutong/r/n/r/nJust for test and pls ignore it!~_~\r\n.\r\n'
reply: '550 5.7.1 Client does not have permissions to send as this sender\r\n'
reply: retcode (550); Msg: 5.7.1 Client does not have permissions to send as this sender
data: (550, '5.7.1 Client does not have permissions to send as this sender')
send: 'rset\r\n'
reply: '250 2.0.0 Resetting\r\n'
reply: retcode (250); Msg: 2.0.0 Resetting
send: 'quit\r\n'
reply: '221 2.0.0 Service closing transmission channel\r\n'
reply: retcode (221); Msg: 2.0.0 Service closing transmission channel
Traceback (most recent call last):
  File "mailsend.py", line 11, in <module>
    smtp.sendmail('xxxx', 'yyy', 'From: xxxx/r/nTo: yyy/r/nSubject: this is a email from tutong/r/n/r/nJust for test and pls ignore it!~_~')
  File "/usr/local/lib/python2.5/smtplib.py", line 699, in sendmail
    raise SMTPDataError(code, resp)
smtplib.SMTPDataError: (**550, '5.7.1 Client does not have permissions to send as this sender')**

Как я могу исправитьпроблема?Спасибо

1 Ответ

5 голосов
/ 19 января 2012

Ну, я думаю, что ошибка говорит обо всем? Вы используете учетные данные, которые связаны с адресом электронной почты. Но ваша переменная FROM отличается, тогда ваша учетная запись говорит, что так и должно быть. Вы часто не можете сегодня, как в старые времена, использовать любой адрес электронной почты в качестве отправителя.

Если вы думаете, что это не так. Вы проверяли орфографию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...