【发布时间】:2023-04-04 15:14:01
【问题描述】:
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import pdb
def emailSender(emailId, password, input):
fromaddr = emailId
emailFile = open(input, "r") # open the generated email file with read only access
msgTxt = ""
server = smtplib.SMTP('outbound.___.com')
server.starttls()
server.login(fromaddr, password)
for line in emailFile:
if line.__contains__("$to$"):
toaddr = line[4:]
elif line.__contains__("$cc$"):
cc = line[4:]
elif line.__contains__("$bcc$"):
bcc = line[5:]
elif line.__contains__("$subj$"):
subject = line[6:]
elif line.__contains__("$%$"):
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
subject = subject.encode('utf-8')
msg['Subject'] = "hello world"
msg['Cc'] = cc
msg.attach(MIMEText(msgTxt, 'plain'))
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
msgTxt = ""
elif not line.__contains__("--------------------------------------------------------------------"):
msgTxt += line
server.quit()
if __name__ == '__main__':
password = "****"
emailId = "****"
input = "input"
emailSender(emailId, password, input)
总体目标是获取包含电子邮件、抄送、主题和消息的文本文件,然后发送该电子邮件,并对文本文件中生成的几封电子邮件执行此操作。
我正在阅读来自 msgTxt 文本文件的电子邮件。我也从文本文件中获取主题,toaddr & cc。它可以很好地发送电子邮件并显示收件人和收件人,但它不显示电子邮件的主题。我曾尝试调试 smtplib 和 ssl 文件,但似乎无法弄清楚。调试时,味精已正确设置所有属性,但不会传输到电子邮件。任何帮助深表感谢。我已经坚持了一段时间了。感谢您在高级的帮助。
--比扬
【问题讨论】:
-
显示完整代码,包括上述变量的声明。