注意:这边不是讨论 邮箱地址的格式。
格式
- 邮箱地址
- "名称" <邮箱地址>
含义
- SMTP 会话(投递)
- Mail From 真实投递的发信人
- Rcpt To 真实投递的收信人
- 邮件内容(显示)
From
发信人- 如果和 Mail From 地址不同,可能会显示:由 xxx 代发
To
收信人Cc
抄送人Bcc
密送人Rely-To
回复地址- 客户端点击回复的时候用的
- 如果没有这个字段,就会回复 From 地址
Sender
发信人Return-Path
/Reverse-Path
/Envelope-From
- 作用是在邮件投递出现问题的时候,邮件服务将邮件退回这个地址
- 如果我们看到这几个名字
- 可能是发信人自己在邮件中声明
- 可能是收信方收到邮件之后添加的,单独字段,或放在 Received 头中
关于抄送和密送
碳式复写纸 carbon paper
副本,抄送 carbon copy
密送 blind carbon copy
from_addr = "from@markjour.com"
to_addrs = ["to@markjour.com"]
cc_addrs = ["cc1@markjour.com", "cc2@markjour.com"]
bcc_addrs = ["bcc@markjour.com"]
msg = f"""
From: {from_addr}
To: {", ".join(to_addrs)}
Cc: {", ".join(cc_addrs)}
Bcc: {", ".join(bcc_addrs)}
Hello World
""".strip()
send_to = to_addrs + cc_addrs + bcc_addrs
server = smtplib.SMTP('smtp.126.com')
server.set_debuglevel(1)
server.login(api_user, api_key)
server.sendmail(from_addr, send_to, msg)
server.quit()
按理来说,邮件服务方面应该在收到邮件之后把这个 BCC 处理掉,然后再投递出去。
不知道为什么,网上有写资料建议 BCC 不要放到正文部分,可能是担心邮件服务没有做这个处理。