Thursday, May 24, 2012

Send email via python

Иногда появляется необходимость, чтобы автоматически приходил простой гугловый имейл по какому-либо событию, мне нужно было, чтобы по результату теста. Немного поиска и нашел решение. В python есть замечательная библиотека smtplib, которая в несколько строк помогает решить задачу. Можно сделать более удобно, добавить вложения c логами, но на данный момент мне этого было достаточно. 

import smtplib
msg=""

subject = ""

def sendanemail(subj, message):
sender = 'sendername@gmail.com'
clientadderss = 'clientaddress@gmail.com'
sendername = 'sendername'
password = 'password'

server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()

subject =  subj
msg = "" + msg + ""

server.login(sendername,password)
headers = ["From: " + sender,
           "Subject: " + subject,
           "To: " + clientadderss,
           "MIME-Version: 1.0",
           "Content-Type: text/html"]

headers = "\r\n".join(headers)
server.sendmail(sender, clientadderss, headers + "\r\n\r\n" + msg)
server.quit()


subject = "test message with Python"
msg = "Epic fail:)" 
if testfail:
          sendanemail(msg)

No comments:

Post a Comment