How to send email attachments?

前端 未结 13 939
梦谈多话
梦谈多话 2020-11-22 01:14

I am having problems understanding how to email an attachment using Python. I have successfully emailed simple messages with the smtplib. Could someone please e

13条回答
  •  忘了有多久
    2020-11-22 01:26

    Another way with python 3 (If someone is searching):

    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.base import MIMEBase
    from email import encoders
    
    fromaddr = "sender mail address"
    toaddr = "receiver mail address"
    
    msg = MIMEMultipart()
    
    msg['From'] = fromaddr
    msg['To'] = toaddr
    msg['Subject'] = "SUBJECT OF THE EMAIL"
    
    body = "TEXT YOU WANT TO SEND"
    
    msg.attach(MIMEText(body, 'plain'))
    
    filename = "fileName"
    attachment = open("path of file", "rb")
    
    part = MIMEBase('application', 'octet-stream')
    part.set_payload((attachment).read())
    encoders.encode_base64(part)
    part.add_header('Content-Disposition', "attachment; filename= %s" % filename)
    
    msg.attach(part)
    
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login(fromaddr, "sender mail password")
    text = msg.as_string()
    server.sendmail(fromaddr, toaddr, text)
    server.quit()
    

    Make sure to allow “less secure apps” on your Gmail account

提交回复
热议问题