2011-01-26 35 views
0

我试图使用smtplib使用MAIL,RCPT和DATA等低级命令发送电子邮件。使用SMTPLIB.data发送文件附件()

这使我可以伪装“收件人”字段,同时仍将邮件传递到正确的收件箱(必填)。我的问题是,我还没有找到这种方式发送文件附件,并且我没有找到一种方法来在使用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() 

感谢您的任何帮助。

回答

0

这其实很简单, 创建MimeMultipart的消息对象,并简单地调用

smtp_server.data(message.as_string())