Не удается отправить электронную почту с помощью smtplib с учетной записью Office365 (но коллеги могут) - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь запустить следующий простой скрипт, используя smtplib и мою Azure учетную запись O365:

import smtplib

sendto = 'send_user@gmail.com'
user= 'sender@office365.com'
password = 'password'
smtpsrv = "smtp.office365.com"
smtpserver = smtplib.SMTP(smtpsrv,587)

smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
smtpserver.login(user, password)
header = 'To:' + sendto + '\n' + 'From: ' + user + '\n' + 'Subject:testing \n'
print(header)
msgbody = header + '\n This is a test Email send using Python'
smtpserver.sendmail(user, sendto, msgbody)
print('done!')
smtpserver.close()

и получаю следующую ошибку:

SMTPAuthenticationError: (535, b'5.7.3 Authentication unsuccessful [MWHPR03CA0010.namprd03.prod.outlook.com]')

Я могу для корректного выполнения кода с использованием учетной записи Gmail с включенными менее защищенными приложениями, а также возможность запуска сценария с другой учетной записью O365 из другой организации. Мои коллеги также могут запускать скрипт, используя учетную запись "sender@office365.com". Мои учетные данные Azure соответствуют моим коллегам, и я попытался разрешить порт 587 в настройках брандмауэра. Единственное, что я не могу контролировать, это то, что у меня установлен Web root, которым управляет внешний поставщик ИТ.

...