发送电子邮件时收件人在密件抄送字段中

Recepients are in BCC field when sending email

每当我 运行 我的代码时,收件人都在密件抄送字段中而不是 To 字段中(当我检查我的 gmail 收件箱时)

我不知道是什么原因。 我怎样才能阻止收件人进入密件抄送字段。并使它们出现在 TO 字段中 这是我的代码

import smtplib 
import getpass
import time
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText

smtpVar = smtplib.SMTP ("smtp.gmail.com", 587)
fromEmail = "myemail@gmail.com"
toEmails = ["myemail@gmail.com", "secondemail@gmail.com"]

msgVar = MIMEMultipart()
msgVar ["From"] = fromEmail
msgVar ["To"] = toEmails

# I am getting the contents of the body of the email from a text file
fileOpen1 = open ("EmailBody.txt", "r")
msgBody = MIMEText (fileOpen1.read())
fileOpen1.close()

smtpVar.ehlo()
smtpVar.starttls()

passwordVar = getpass.getpass (prompt="Enter Password  : ")
smtpVar.login ("myemail@gmail.com", passwordVar)

smtpVar.sendmail (msgVar ["From"], msgVar ["To"] , "Subject: Test Email-.......[Email Date/Time] " + time.strftime("%Y" + "-" + "%m" + "-" + "%d" + "_" + "%H" + ":" + "%M" + ":" + "%S") + "\n" + msgBody.as_string())

smtpVar.quit()
print ("\n\n.....message sent successfully!!!\n\n")

smtplib 不会为您创建消息 header。 fromto 参数仅用于信封。如果您想让它们出现在 header 中,您必须自己动手。

smtpVar.sendmail (msgVar ["From"], msgVar ["To"] , "From: " + msgVar["From"] + "\nTo: " + msgVar["To"].join(", ") + "\nSubject: Test Email-.......[Email Date/Time] " + time.strftime("%Y-%m-%d_%H:%M:%S") + "\n" + msgBody.as_string())