[BangPypers] Change the "From:" address using python smtplib

Baskar K baskar.krishnan at jouve.in
Wed Oct 31 07:10:57 CET 2012


Hi

It works, Great!!!. Thanks...

Regards
Baskar K

On Tue, Oct 30, 2012 at 10:36 PM, Gopalakrishnan Subramani <
gopalakrishnan.subramani at gmail.com> wrote:

> As per SPF, http://en.wikipedia.org/wiki/Sender_Policy_Framework and email
> server handling, your emails will be placed in junk mails in most of the
> mail server.
>
> As per your script, you  send email from an email id which is different
> than the one which is used for authentication. Most of the SMTP servers
> (your outgoing servers such as smtp.gmail.com) would not care what is in
> the from address of MIMEMultipart or simply SMTP's FROM header.
>
> You could add the following to forge  (although you send using differ
> account), this is called as on-behalf-of.
>
>  msg.add_header('reply-to', send_from) # 'mahadevan.m at gmail.com' would get
> reply when recipient replies
>  msg['From'] = send_from + ' <' + smtp_login_mail + '>' # peacefully valid
> in smtp terms. many social network sites send mail using this idea
>
> if you use custom domain, make sure you have SPF records setup.
>
>
>
>
> On Tue, Oct 30, 2012 at 6:43 PM, Baskar K <baskar.krishnan at jouve.in>
> wrote:
>
> > Hi, I am new to python, and I am writing the code to send a mail. It
> works
> > but i need to change the from address of the mail but it takes the
> > authentication mail id as from address. Please help me
> >
> >     import smtplib, os
> >     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 send_mail(send_from, send_to, subject, text, files=[], server="
> > smtp.gmail.com:587"):
> >         assert type(send_to)==list
> >         assert type(files)==list
> >
> >         msg = MIMEMultipart()
> >         msg['From'] = send_from
> >         msg['To'] = COMMASPACE.join(send_to)
> >         msg['Date'] = formatdate(localtime=True)
> >         msg['Subject'] = subject
> >
> >         msg.attach( MIMEText(text) )
> >
> >         for f in files:
> >             part = 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)
> >         smtp.ehlo()
> >         smtp.starttls()
> >         smtp.ehlo
> >         smtp.login('baskar.krishnan at gmail.com', 'password')
> >         smtp.sendmail(send_from, send_to, msg.as_string())
> >         smtp.close()
> >
> >     files = ['Config.ini', 'mail_ini.txt']
> >     send_to = ['baskar.krishnan at gmail.com']
> >     send_mail('mahadevan.m at gmail.com', send_to, 'test subject', 'body
> > matter', files)
> >
> > Thanks in advance
> > Baski
> > _______________________________________________
> > BangPypers mailing list
> > BangPypers at python.org
> > http://mail.python.org/mailman/listinfo/bangpypers
> >
> _______________________________________________
> BangPypers mailing list
> BangPypers at python.org
> http://mail.python.org/mailman/listinfo/bangpypers
>


More information about the BangPypers mailing list