2016-12-01 10 views
1

Я использую Python 3.5.2.Отправьте электронное письмо с помощью моей учетной записи yahoo - сообщение об ошибке

Я пытаюсь использовать свою учетную запись yahoo для отправки электронной почты. Я использую доменное имя SMTP-сервера yahoo smtp.mail.yahoo.com в соответствии с этим сайтом `http://neerajbyte.com/send-email-through-python-console-with-gmail-hotmail-and-yahoo/ '. Однако я получил сообщение об ошибке (ниже). Как правило, из соображений безопасности Google, я попробовал, отправил мне электронное письмо с уведомлением о приложении, пытающемся получить доступ к моей учетной записи, и я должен нажать на ссылку, чтобы разрешить это. Но я не получил электронное письмо от yahoo, но только это сообщение об ошибке, не знаю почему.

это мой код:

>>> import smtplib 
>>> conn = smtplib.SMTP('smtp.mail.yahoo.com', 587) 
>>> type(conn) 
<class 'smtplib.SMTP'> 
>>> conn 
<smtplib.SMTP object at 0x02AD9A70> 
>>> conn.ehlo() 
(250, b'smtp.mail.yahoo.com\nPIPELINING\nSIZE 41697280\n8 BITMIME\nSTARTTLS') 
>>> conn.starttls 
<bound method SMTP.starttls of <smtplib.SMTP object at 0x02AD9A70>> 
>>> conn.login('[email protected]', 'j2') 

это мое сообщение об ошибке:

_Traceback (most recent call last): 
    File "<pyshell#6>", line 1, in <module> 
    conn.login('[email protected]', 'j2') 
    File "C:\Users\J\AppData\Local\Programs\Python\Python35-32\lib\smtplib.py", line 696, in login 
    "SMTP AUTH extension not supported by server.") 
smtplib.SMTPNotSupportedError: SMTP AUTH extension not supported by server. 
_ 

ответ

1

Насколько мне известно, Yahoo и Gmail ожидают проверки подлинности 2-фактора при попытке входа в систему из приложений. Это следующие этапы:

  1. В Yahoo вы можете перейти к информации об учетной записи.

  2. Нажмите вкладку «Безопасность учетной записи» слева. Включить двухэтапную аутентификацию. Затем, когда вы впервые попробуете это, вы получите варианты выбора метода проверки. Обычно я выбираю OTP через SMS.

  3. Затем вы можете управлять паролями приложений. Это вызовет всплывающее окно для генерации 16-символьного пароля. Это то, что вы можете использовать из своего приложения при входе в вашу почту.

Ниже приведен скриншот пример: enter image description here

+0

Как вы выбираете OTP с помощью SMS? Я следую тому, что вы упомянули, и не может получить доступ еще. Я разрешаю использовать приложения, которые используют менее безопасный вход. Я нажимаю «Управляй паролями приложений» и вводим Python smtplib, который генерирует 16-буквенный пароль. Я вводил этот 16-буквенный пароль в этот код (см. Ниже) и все еще имею то же сообщение об ошибке. 'conn.login ('[email protected] ',' jgjt apbo btwj qcwq ')' – Johnseito

+0

Нет пробелов в пароле. Удалите пробелы и попробуйте. –

+0

Я просто сделал и все еще имею такое же сообщение об ошибке. – Johnseito