Я хочу отправлять электронные письма, используя мой корпоративный аккаунт. Тем не менее, я получаю следующую ошибку в Python:
SMTPAuthenticationError: 550, b'5.2.1 Mailbox cannot be accessed
Если я открою свой корпоративный аккаунт в Outlook, я смогу отправлять по нему электронные письма, используя скрипт Powershell. Но скрипт Python только выдаёт мне ошибку, указанную выше.
Вот мой python код:
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
mail_content = "Hello, This is a simple mail. There is only text, no \
attachments are there The mail is sent using Python SMTP library"
sender_address = 'corporate_email_account'
sender_pass = 'XXXX'
receiver_address = 'corporate_email_account'
message = MIMEMultipart()
message['From'] = sender_address
message['To'] = receiver_address
message['Subject'] = 'A test mail sent by Python. It has an attachment.'
message.attach(MIMEText(mail_content, 'plain'))
session = smtplib.SMTP('smtp.office365.com', 587)
session.starttls() #enable security
session.login(sender_address, sender_pass) #login with mail_id and password
text = message.as_string()
session.sendmail(sender_address, receiver_address, text)
session.quit()
print('Mail Sent')
Почему Python не может отправлять электронные письма? Может ли это быть проблемой брандмауэра или, возможно, Microsoft не разрешает такое поведение в сценариях python, но разрешает в сценариях Powershell?