使用python中的smtplib从共享邮箱发送电子邮件

使用python中的smtplib从共享邮箱发送电子邮件,python,outlook,smtp,smtplib,Python,Outlook,Smtp,Smtplib,我正在编写发送电子邮件的脚本。 电子邮件应该从outlook中的共享邮箱发送。 这个共享邮箱没有密码,这里有一个窍门:一方面我需要验证并提供密码,另一方面我没有密码可提供。 我用我的专业outlook邮箱(电子邮件地址+密码)运行了脚本,它运行正常 这是我的配置: MY_ADDRESS = "---emailaddressofthesender---" PASSWORD = "" MESSAGE = "some message" # set up the SMTP server s = smt

我正在编写发送电子邮件的脚本。 电子邮件应该从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。除非弄错了,否则我没有发现关于 没有密码的身份验证
  • 密码=“验证错误”
  • 密码=无:身份验证错误
  • s、 登录(我的地址):缺少密码参数
  • 从脚本中删除s.login()方法:在从[PR0P264CA0184.FRAP264.PROD.OUTLOOK.COM]发送邮件期间,客户端未通过发送匿名邮件的身份验证
我现在唯一可行的解决方案是从我的邮箱凭据发送,而不是从共享邮箱发送。就本项目而言,此解决方案是不可接受的


非常感谢您的帮助

在s.send()步骤之前添加此选项,它将正常工作

s.SentOnBehalfOfName = 'SharedFolder'
我评论了
s.login(我的地址、密码)
,并在
s.SentOnBehalfOfName='SharedFolder'
之前添加了
s.send\u message(msg)
。我得到一个
客户端未通过身份验证,无法在从[PR0P264CA0184.FRAP264.PROD.OUTLOOK.COM]发送邮件期间发送匿名邮件。