python 3 smtplib sendmail/send_message(mail_options=[], rcpt_options=[])

python 3 smtplib sendmail/send_message(mail_options=[], rcpt_options=[])

文档指定您可以包含 mail_options=[]rcpt_options=[] 作为 sendmailsend_message 的参数。我无法在任何地方找到这些选项的确切内容。我假设在那里的某个地方我可以设置 DSN 等。我已经构建了一个运行良好的电子邮件脚本;在 Python.

中不需要关于如何使用 smtp 的帮助

有人知道描述这些选项以及如何使用它们的文档吗?

https://docs.python.org/3.5/library/smtplib.html

https://docs.python.org/3.5/library/email-examples.html#email-examples

如果 SMTP 服务器正确响应 'EHLO' 命令,则它支持 ESMTP。

8BITMIME —8 bit data transmission, RFC 6152[1]

ATRN —Authenticated TURN for On-Demand Mail Relay, RFC 2645[2]

AUTH —Authenticated SMTP, RFC 4954[3]

CHUNKING —Chunking, RFC 3030[4]

DSN —Delivery status notification, RFC 3461[5]

ETRN —Extended version of remote message queue starting command TURN, RFC 
1985[6]
HELP —Supply helpful information, RFC 821[7]

PIPELINING —Command pipelining, RFC 2920[8]

SIZE —Message size declaration, RFC 1870[9]

STARTTLS —Transport layer security, RFC 3207 (2002)[10]
 - Not relevant in python3 as it is a separate function

SMTPUTF8 —Allow UTF-8 encoding in mailbox names and header fields, RFC 6531[11]

DSN Usage/Syntax 示例:

smtp.send_message(msg, rcpt_options=['NOTIFY=SUCCESS,DELAY,FAILURE'])

备注:

  • ESMTP 规范规定 DSN 可以任意大小写组合和任意选项组合(成功、延迟或失败)指定。
  • DSN 功能取决于从发件人到收件人的每个电子邮件服务器都支持它。

参考文献: