RSSAmplifier

Recent Content on nixtutor.com · Jun 30, 2009

Send Mail Through Gmail with Python

0
Sign in to vote or save

This page cannot be shown here. You can still read it on the original site — the toolbar below keeps your place in the directory.

Good system admins get to know scripting languages well and sometimes use them for all kinds of purposes, from scripts that do backups to complex automated tasks. Often times it would be nice to get an email notification when the script finished or completed OK. Cron does a good job of sending emails when scripts run into errors or problems, but sometimes it is necessary to get custom email…

Good system admins get to know scripting languages well and sometimes use them for all kinds of purposes, from scripts that do backups to complex automated tasks. Often times it would be nice to get an email notification when the script finished or completed OK. Cron does a good job of sending emails when scripts run into errors or problems, but sometimes it is necessary to get custom email messages sent from the script itself. Python makes sending email alerts a breeze.

The Code

import smtplib
fromaddr = 'fromuser@gmail.com'
toaddrs  = 'touser@gmail.com'
msg = 'There was a terrible error that occured and I wanted you to know!'
# Credentials (if needed)
username = 'username'
password = 'password'
# The actual mail send
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(username,password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()

What Now?

You will want to use this with an already existing script or a script where you want to add email alerts. For example:

# A big task
...
if task.completedOk():
     # Insert email code here, explaining that
     # the task is done and some details about it

Or perhaps you wanted Python to send you an email if the server room gets too hot:

# Get temp
...
if temperature > 70:
     # Insert email code here

Read on /linux/send-mail-through-gmail-with-python/

Comments

Nothing yet. Say the first thing.

    Sign in to join the conversation.