need guidance on sending emails with attachment with python.
Bernard
bernard.chhun at gmail.com
Mon Dec 11 07:54:04 EST 2006
here's the function I've been using for while :P
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
def sendMail(arrRecipients, sender, subject, message, files=[]):
""" Sends email with attachements """
# SMTP address
smtpserver = '' # provide a smtp here in string format
# authentification section
AUTHREQUIRED = 0 # if you need to use SMTP AUTH set to 1
smtpuser = '' # for SMTP AUTH, set SMTP username here
smtppass = '' # for SMTP AUTH, set SMTP password here
# Building the body of the email
mssg = MIMEMultipart()
mssg['From'] = sender
mssg['To'] = COMMASPACE.join(arrRecipients)
mssg['Date'] = formatdate(localtime=True)
mssg['Subject'] = subject
mssg.attach( MIMEText(message) )
# attachments
for file in files:
part = MIMEBase('application', "octet-stream")
part.set_payload( open(file,"rb").read() )
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment;
filename="%s"' % os.path.basename(file))
mssg.attach(part)
session = smtplib.SMTP(smtpserver)
if AUTHREQUIRED:
session.login(smtpuser, smtppass)
smtpresult = session.sendmail(sender, arrRecipients,
mssg.as_string())
if smtpresult:
errstr = ""
for recip in smtpresult.keys():
errstr = """Could not delivery mail to: %s
Server said: %s
%s
%s""" % (recip, smtpresult[recip][0], smtpresult[recip][1], errstr)
raise smtplib.SMTPException, errstr
krishnakant Mane a écrit :
> hello,
> I am a bit confused.
> I want to make a program that will take some data from a database and
> make a string of text. and send it to the respective email id of a
> person.
> next I also want to send an attachment of a photo along with the email.
> I will be required to make this program run on windows xp.
> can some one guide me as to how I can achieve this?
> what I will need on windows to send emails?
> I believe yahoo, gmail, rediff and msn supports pop3 and smtp?
> correct me if I am wrong on this.
> secondly what library is used on windows to do this?
> I know there must be python libraries to do this,
> but apart from that I don't know what all I will need on my windows
> machine to send emails to mostly yahoo, gmail and msn.
> Please give me some idea about it.
> Krishnakant.
More information about the Python-list
mailing list