Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Attachments getting attached twice using smptplib in python

Tags:

python

smtplib

I am trying to implement a functionality in python where I want to send a file as an attachment to an email alert Everything works fine. i am getting the email alert with required subject but the only problem is that I get the same attachment twice in my email alert.

    fileMsg = email.mime.base.MIMEBase('application','octet-stream')
    fileMsg.set_payload(file('/home/bsingh/python_files/file_dict.txt').read())
    #email.encoders.encode_base64(fileMsg)
    fileMsg.add_header('Content-Disposition','attachment;filename=LogFile.txt')
    emailMsg.attach(fileMsg)

  # send email
    server = smtplib.SMTP(smtp_server)
    server.starttls()
    server.login(username, password)
    server.sendmail(from_add, to_addr,emailMsg.as_string())
    server.quit()
like image 639
Shruti Srivastava Avatar asked Jun 09 '15 08:06

Shruti Srivastava


1 Answers

I have been having problems with this myself. I had 'alternative' as my message's MIMEMultipart type. When I changed to the default, 'mixed', the duplicate disappeared.

So if you created emailMsg using MIMEMultipart('alternative'), you may have the same problem.

I believe 'alternative' is for offering both a text and html version of the message body, so I think you need to offer both in addition to your attachment if you use it.

I hope that helps.

I have not found a good explanation of this anywhere yet; email can get pretty complicated.

like image 185
keisetsu Avatar answered Sep 28 '22 07:09

keisetsu