使用SMTPLIB.data()发送文件附件

时间:2011-01-26 22:39:46

标签: python smtplib

我正在尝试使用低级命令(如MAIL,RCPT和DATA)使用smtplib发送电子邮件。

这允许我在仍然传递到正确的收件箱(必需)时伪装To字段。我的问题是我没有找到一种以这种方式发送文件附件的方法,而且在使用smtp_server.sendmail()时我还没有找到一种“欺骗”To字段的方法。这是'原始'方法:

    smtp_server = smtplib.SMTP('smtp.mail.server.com', 587)
    smtp_server.ehlo()
    smtp_server.starttls()
    smtp_server.ehlo()
    smtp_server.login('user','pass')

    smtp_server.mail(sender)
    smtp_server.rcpt(inbox)
    data = """From: {0}
To: {1}

{2}"""
    data = data.format(sender, recipient, message)
    smtp_server.data(data)
    smtp_server.close()

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这其实非常简单, 创建MIMEMultipart消息对象,然后只需调用

smtp_server.data(message.as_string())