2011-01-26 58 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())