i have a python script and would like to know how to email the output of the script in python.
i can do it from the command line(kshell) with in *nix but would like something like this in the script.
somescript.py; echo "test" | mailx john_smith@xyz.com

10 Years
Discussion Span
Last Post by woooee

A very crude method would be to capture your output, and then execute the same command via os.system or a similar call.

Alternately you could make use of smtplib to send the email to a mail server's listener, and send it that way.
Example of using smtplib.
Keep in mind that in this example, the mail listening agent is on the same machine as the script is running. If this is not the case you'll need the ip address and port that the mail daemon is listening on of the server where this service is running.


Something like the following is a simple example and usually works. If not, then you will have to Google for your specific sendmail app.

fromaddr = "<me@localhost>"                                            
toaddrs  = "<you@localhost>"
msg = "Test of Python's sendmail\n"
# The actual mail send part                                
server = smtplib.SMTP('localhost')                                       
server.sendmail(fromaddr, toaddrs, msg)
print server.verify( toaddrs )
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.