On Wed, 03 Dec 2008 12:40:30 +0200, srinivasan srinivas
<[EMAIL PROTECTED]> wrote:
HI,
I would like to send an email message with body-content 'test' and an
attachment.
The snippet i used is:
outer = email.mime.multipart.MIMEMultipart()
msg1 = email.mime.text.MIMEText(<filename1>, _subtype = 'text')
msg1.add_header('Content-Disposition', 'attachment')
outer.attach(msg1)
body = email.mime.text.MIMEText(<filename1>, _subtype = 'text')
outer.attach(body)
smtp_client = smtplib.SMTP()
smtp_client.connect()
smtp_client.sendmail(<sender>, <recipient>, outer.as_string())
smtp_client.close()
If i do like above, i am receiving the body also as an attachment. How
to set body to Multipart email message?
Thanks,
Srini
Add more friends to your messenger and enjoy! Go to
http://messenger.yahoo.com/invite/
--
http://mail.python.org/mailman/listinfo/python-list
Hi there
I have used this method for a while. Works pretty good. (Apologies if the
formatting is a bit wonky - gmail reformats my stuff)
import mimetypes
import poplib
import email
import smtplib
import os
from email import *
from email.mime import *
def SendMail(self, send_from, send_to, subject, text, files=[],
server="localhost", username = None, password = None):
# {{{
"""
Sends an email. With optional attachment files.
"""
assert type(send_to)==list
assert type(files)==list
msg = MIMEMultipart.MIMEMultipart()
msg['From'] = send_from
msg['To'] = Utils.COMMASPACE.join(send_to)
msg['Date'] = Utils.formatdate(localtime=True)
msg['Subject'] = subject
msg.attach(MIMEText.MIMEText(text))
for f in files:
part = MIMEBase.MIMEBase("application", "octet-stream")
part.set_payload(open(f,"rb").read())
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"'
% os.path.basename(f))
msg.attach(part)
smtp = smtplib.SMTP(server, 25)
smtp.sock.settimeout(120)
try:
if username and password:
smtp.login(username, password)
smtp.sendmail(send_from, send_to, msg.as_string())
else:
smtp.sendmail(send_from, send_to, msg.as_string())
except Exception, err:
print "Error sending to " + str(send_to) + " ERROR : " + str(err)
if self.logger:
self.logger.error("Email error - error sending message to : "
+ str(send_to) + " Error : " + str(err))
smtp.close()
# }}}
HTH
Nicol
--
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo
--
http://mail.python.org/mailman/listinfo/python-list