Just a short notice to show how simple it is to send mail from Python using the SMTP module. Note: you must have an accessible SMTP server running somewhere. I have one on my domain, but word on the street says that if you ask nicely, your ISP can provide you with one.
Anyway, here is the code:
from smtplib import SMTP import datetime debuglevel = 0 smtp = SMTP() smtp.set_debuglevel(debuglevel) smtp.connect('YOUR.MAIL.SERVER', 26) smtp.login('USERNAME@DOMAIN', 'PASSWORD') from_addr = "John Doe <firstname.lastname@example.org>" to_addr = "email@example.com" subj = "hello" date = datetime.datetime.now().strftime( "%d/%m/%Y %H:%M" ) message_text = "Hello\\nThis is a mail from your server\\n\\nBye\\n" msg = "From: %s\\nTo: %s\\nSubject: %s\\nDate: %s\\n\\n%s" \ % ( from_addr, to_addr, subj, date, message_text ) smtp.sendmail(from_addr, to_addr, msg) smtp.quit()
- You’ll have to insert your mail server and SMTP port. Note that the port can also be 25 (or any other, if you’ve configured the server appropriately)
- At least on my server, the username must be the full email address
- The message must contain all these fields to be accepted
- Set debuglevel to 1 to see lots of insightful debugging information from the module