【问题标题】:sending emails with smtplib in python from shared mailbox从共享邮箱在 python 中使用 smtplib 发送电子邮件
【发布时间】: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


    【解决方案1】:

    在 s.send() 步骤之前添加它,它会起作用。

    s.SentOnBehalfOfName = 'SharedFolder'
    

    【讨论】:

    • 我评论了s.login(MY_ADDRESS, PASSWORD) 并在s.send_message(msg) 之前添加了s.SentOnBehalfOfName = 'SharedFolder'。我收到了Client was not authenticated to send anonymous mail during MAIL FROM [PR0P264CA0184.FRAP264.PROD.OUTLOOK.COM]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 2018-01-25
    • 2022-12-13
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    相关资源
    最近更新 更多