返回

使用 Python 时如何用“收件人”行发送电子邮件,而不是“密件抄送”?

python

发送电子邮件时如何使用“收件人”行而不是“密件抄送”

问题

当你使用 Python 发送电子邮件时,所有电子邮件都作为“密件抄送”发送,而不是使用“收件人”行单独发送给每个人。这可能会导致混淆和隐私问题。

解决方案

要使用“收件人”行而不是“密件抄送”发送电子邮件,需要对 Python 代码进行以下更改:

  1. 将邮件列表添加到“收件人”参数:
    [email] 更改为 email,表示电子邮件将发送到 email 中指定的单个收件人。

  2. 删除“密件抄送” 删除以下行:

    Subject = "x"
    

    因为“收件人”行不会显示主题。

修改后的代码:

import smtplib

your_email = "xxxxx.xxx"
your_password = "xxxxxxx"

# establishing connection with gmail
server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
server.ehlo()
server.login(your_email, your_password)

# getting the list of emails
emails = ["email1@example.com", "email2@example.com"]

message = "This is the email message."

# iterate through the emails
for email in emails:
    server.sendmail(your_email, email, message)

server.close()

结论

通过对代码进行这些更改,你可以使用“收件人”行而不是“密件抄送”发送电子邮件。这将确保每个收件人都单独收到电子邮件,并避免混淆或隐私问题。

常见问题解答

  1. 为什么我的电子邮件仍然作为“密件抄送”发送?
    确保你已正确更新了代码并删除了“密件抄送”标题。

  2. 我可以同时使用“收件人”行和“密件抄送”行吗?
    可以,只需将电子邮件地址添加到“收件人”和“密件抄送”字段即可。

  3. 我如何发送HTML电子邮件?
    你可以使用 MIMEText 模块来创建 HTML 电子邮件,并使用 content-type 头部指定 HTML 格式。

  4. 我如何添加附件到电子邮件?
    你可以使用 MIMEMultipart 模块来创建一个多部分电子邮件,并使用 MIMEBase 模块来附加文件。

  5. 我该如何在 Python 中使用 SMTP 调试?
    你可以使用 server.set_debuglevel(1) 来启用 SMTP 调试,这将显示与 SMTP 服务器的通信。