使用Python从Protonmail帐户SMTP库发送电子邮件

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (243)

我正在使用带有protonmail的苹果邮件应用程序 - 我有桥应用程序。我尝试使用smtp库发送带有python的电子邮件,但它不起作用。

这是我试图运行并使我失败的代码..

import smtplib

server = smtplib.SMTP("127.0.0.1", portnumber)
server.login("mymail@protonmail.com", "my password")
server.sendmail(
    "mymail@protonmail.com",
    "receiver@protonmail.com",
    "hello")
server.quit()

我收到的错误消息:

smtplib.SMTPDataError:(554,b'Error:事务失败,责备天气:格式错误的MIME标题行:00')

提问于
用户回答回答于

您需要在消息文本中提供标题(请参阅文档中示例):

import smtplib

server = smtplib.SMTP("127.0.0.1", portnumber)
server.login("mymail@protonmail.com", "my password")

fromaddr = "mymail@protonmail.com"
toaddr = "receiver@protonmail.com"
body = "hello"

msg = 'From: {}\r\nTo: {}\r\n\r\n{}'.format(toaddr, fromaddr, body)

server.sendmail(fromaddr, toaddr, msg)
server.quit()
用户回答回答于

这可能有帮助..

import smtplib 
from email.MIMEMultipart import MIMEMultipart 
from email.MIMEText import MIMEText

port_number =1234
msg = MIMEMultipart()
msg['From'] = 'sender@protonmail.com'
msg['To'] = 'receiver@protonmail.com'
msg['Subject'] = 'My Test Mail '
message = 'This is the body of the mail'
msg.attach(MIMEText(message))
mailserver = smtplib.SMTP('localhost',port_number)
mailserver.login("sender@protonmail.com", "mypassword")
mailserver.sendmail('sender@protonmail.com','receiver@protonmail.com',msg.as_string())
mailserver.quit()

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励