Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > need guidance on sending emails with attachment with python.

Reply
Thread Tools

need guidance on sending emails with attachment with python.

 
 
krishnakant Mane
Guest
Posts: n/a
 
      12-10-2006
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.
 
Reply With Quote
 
 
 
 
Bernard
Guest
Posts: n/a
 
      12-11-2006
here's the function I've been using for while

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.


 
Reply With Quote
 
 
 
 
krishnakant Mane
Guest
Posts: n/a
 
      12-11-2006
On 11 Dec 2006 04:54:04 -0800, Bernard <(E-Mail Removed)> wrote:
> here's the function I've been using for while
>

thanks indeed for the function Bernard.
I will have a windows machine up tomorrow. but do I need to install
any thing over and above the python libraries needed?
is it necessary that I install outlook or do I need to install any
server/ client on the machine where your function is to be used?
> 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.

>
>
>

 
Reply With Quote
 
Richard Charts
Guest
Posts: n/a
 
      12-11-2006
krishnakant Mane wrote:
> On 11 Dec 2006 04:54:04 -0800, Bernard <(E-Mail Removed)> wrote:
> > here's the function I've been using for while
> >

> thanks indeed for the function Bernard.
> I will have a windows machine up tomorrow. but do I need to install
> any thing over and above the python libraries needed?
> is it necessary that I install outlook or do I need to install any
> server/ client on the machine where your function is to be used?
> > 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.

> >
> >
> >


You will need some working email account.
It could be a server on your local machine or it could be a gmail
account.
If you don't have an email account that you want to send from, then you
will have to either obtain one or create your own server.

 
Reply With Quote
 
ina
Guest
Posts: n/a
 
      12-12-2006
I put to gether a class to deal with this along time ago it might be of
help to you.
You can find it at
http://phlik.ishpeck.net/index.php?P=b1114201575phlik.

krishnakant Mane wrote:
> 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.


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Scanning my emails for harmfull emails etc lee.ingram Computer Support 4 01-12-2006 01:21 AM
Need help sending CDO email with dynamic HTML attachment NetNoise ASP General 6 01-10-2005 03:49 AM
How to stop Sir name showing on emails from hotmail emails Drifter Computer Information 3 07-07-2004 07:15 AM
sending mail with attachment Cantekin Guneser ASP .Net 1 04-18-2004 02:53 PM
Sending more than one attachment Dragos Marian Barbu ASP .Net 0 11-10-2003 11:43 PM



Advertisments