簡體   English   中英

使用SMTP從Python發送帶有附件的郵件

[英]Sending mail with attachment from Python using SMTP

我有一個小問題。

我用:

import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText

msg = MIMEMultipart()
msg['From'] = 'me@gmail.com'
msg['To'] = 'you@gmail.com'
msg['Subject'] = 'simple email in python'
message = 'here is the email'
msg.attach(MIMEText(message))

mailserver = smtplib.SMTP('smtp.gmail.com',587)
# identify ourselves to smtp gmail client
mailserver.ehlo()
# secure our email with tls encryption
mailserver.starttls()
# re-identify ourselves as an encrypted connection
mailserver.ehlo()
mailserver.login('me@gmail.com', 'mypassword')

mailserver.sendmail('me@gmail.com','you@gmail.com',msg.as_string())

mailserver.quit()

一切正常-但我想添加TXT文件附件。 你能幫助我嗎?

您可以這樣實現:

filename = ...
with open(filename,'r') as f:
    message = MIMEText(f.read())
    message.add_header('Content-Disposition', 'attachment', filename=filename)
    msg.attach(message)

其中, msgMIMEMultiPart對象。

我找到答案,但要感謝很多! :)

 filename='/www/pages/DANE/komunikaty.txt'
    fp=open(filename,'rb')
    att = email.mime.application.MIMEApplication(fp.read(),_subtype="txt")
    fp.close()
    att.add_header('Content-Disposition','attachment',filename=filename)
    msg.attach(att)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM