【发布时间】:2020-04-17 07:34:55
【问题描述】:
我正在编写发送电子邮件的脚本。 电子邮件应该从 Outlook 中的共享邮箱发送。 这个共享邮箱没有密码,诀窍是:一方面我需要验证并提供密码,另一方面我没有密码可提供。 我用我的专业 Outlook 邮箱(电子邮件地址 + 密码)运行了脚本,它可以工作。
这是我的配置:
MY_ADDRESS = "---emailaddressofthesender---"
PASSWORD = ""
MESSAGE = "some message"
# set up the SMTP server
s = smtplib.SMTP(host='smtp-mail.outlook.com', port=587)
s.starttls()
s.login(MY_ADDRESS, PASSWORD)
msg = MIMEMultipart() # create a message
# setup the parameters of the message
msg['From']=MY_ADDRESS
msg['To']="---emailaddresseofthereceiver---"
msg['Subject']="This is TEST"
# add in the message body
msg.attach(MIMEText(MESSAGE, 'plain'))
# send the message via the server set up earlier.
s.send_message(msg)
del msg
# Terminate the SMTP session and close the connection
s.quit()
我试过了:
- 阅读文档 smtplib。除非弄错了,否则我没有发现任何关于 无需密码的身份验证。
- PASSWORD = "": 验证错误
- PASSWORD = 无:身份验证错误
- s.login(MY_ADDRESS): PASSWORD 参数丢失
- 从脚本中删除 s.login() 方法:在 MAIL FROM [PR0P264CA0184.FRAP264.PROD.OUTLOOK.COM] 期间,客户端未通过身份验证发送匿名邮件
我现在唯一可行的解决方案是从我的邮箱凭据发送,而不是从共享邮箱发送。为了这个项目,这个方案是不能接受的。
非常感谢您的帮助
【问题讨论】:
标签: python outlook smtp smtplib