Я пытаюсь отправить электронную почту с рабочего сервера, расположенного на цифровой океанской капле, с помощью почтового сервера office 356.
Операция выполняется правильно, когда я выполняю скрипт python на моем тестовом сервере (расположенна моем Mac), но не работает с кодом 500 на рабочем сервере.
Я использую этот код для достижения этой цели:
def __init__(self, from_address="some@mail.com", from_password="somePassword",
smtp_server="smtp.office365.com", smtp_port=587):
self.from_address = from_address
self.from_password = from_password
self.smtp_server = smtp_server
self.smtp_port = smtp_port
def send_mail(self, recipients, subject, message, project_id, pdf_files):
client_id = ProjectClient.query.filter_by(project_id=project_id).first().client_id
client = Client.query.filter_by(client_id=client_id).first()
server = smtplib.SMTP(self.smtp_server, self.smtp_port)
server.ehlo()
server.starttls()
server.ehlo()
server.login(self.from_address, self.from_password)
...
try:
server.sendmail(self.from_address, recipients, message_body.as_string())
Я получаю эту ошибку:
File "/usr/lib/python3.5/smtplib.py", line 730, in login
raise last_exception
File "/usr/lib/python3.5/smtplib.py", line 721, in login
initial_response_ok=initial_response_ok)
File "/usr/lib/python3.5/smtplib.py", line 627, in auth
initial_response = (authobject() if initial_response_ok else None)
File "/usr/lib/python3.5/smtplib.py", line 664, in auth_login
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (500, b"5.3.3 Unrecognized command 'cmFwcG9ydEBza2ltbWVsZnJpdC5kaw==' [AM5PR0701CA0011.eurprd07.prod.outlook.com]")
Материал, который я пробовал:
- Открыт порт 587 на рабочем сервере
- Служба связи с Office для добавления производстваIP-адрес сервера в списке доверенных