Включение подписи электронной почты Gmail при отправке электронной почты по сценарию Python - PullRequest
2 голосов
/ 10 января 2020

Я видел несколько вопросов по этой теме c для перспективы, но ничего для gmail - извинения, если я пропустил предыдущую цепочку. Мой вопрос заключается в том, как включить мою подпись Gmail в письмо, отправленное с помощью скрипта python. Мой код выглядит следующим образом, но с некоторой растерянностью относительно того, как получить подпись HTML в теле:

    import smtplib 
    from email.mime.multipart import MIMEMultipart 
    from email.mime.text import MIMEText 
    from email.mime.base import MIMEBase 
    from email import encoders 
    from datetime import datetime



    today = datetime.today().strftime('%Y%m%d')
    print(today)
    filename = '\filetitle_' + today + '.xlsx'
    subject = 'subjectline_' + today

    fromaddr = "me@gmail.com"
    toaddr = "you@gmail.com"

    # instance of MIMEMultipart 
    msg = MIMEMultipart() 

    # storing the senders email address   
    msg['From'] = fromaddr 

    # storing the receivers email address  
    msg['To'] = toaddr 

    # storing the subject  
    msg['Subject'] = subject

    # string to store the body of the mail 
    body = 'THIS IS WHERE HTML NEEDS TO GO'

    # attach the body with the msg instance 
    msg.attach(MIMEText(body, 'plain')) 

    # open the file to be sent  
    attachment = open("path" + filename, "rb") 

    # instance of MIMEBase and named as p 
    p = MIMEBase('application', 'octet-stream') 

    # To change the payload into encoded form 
    p.set_payload((attachment).read()) 

    # encode into base64 
    encoders.encode_base64(p) 

    p.add_header('Content-Disposition', "attachment; filename= %s" % filename) 

    # attach the instance 'p' to instance 'msg' 
    msg.attach(p) 

    # creates SMTP session 
    s = smtplib.SMTP('smtp.gmail.com', 587) 

    # start TLS for security 
    s.starttls() 

    # Authentication 
    s.login(fromaddr, "PASSWORD") 

    # Converts the Multipart msg into a string 
    text = msg.as_string() 

    # sending the mail 
    s.sendmail(fromaddr, toaddr, text) 

    # terminating the session 
    s.quit()
...