Raju Abe
Raju Abe

Reputation: 783

Trying to send email from python

i am new to python, when am trying to sending mail by using python my program is bellow

import smtplib
from smtplib import SMTP

sender = '[email protected]'
receivers = ['[email protected]']

message = """ this message sending from python
for testing purpose
"""

try:
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.ehlo()
smtpObj.login(username,password)
smtpObj.sendmail(sender, receivers, message)
smtpObj.quit()
print "Successfully sent email"
except smtplib.SMTPException:

print "Error: unable to send email"

when i execute it shows Error: unable to send mail message, how to send email in python please explain

Upvotes: 0

Views: 5543

Answers (2)

The6thSense
The6thSense

Reputation: 8335

What i have done in code :

1.Added a error object to get the error message

import smtplib
from smtplib import SMTP       

try:
    sender = '[email protected]'
    receivers = ['xxx.com']

    message = """ this message sending from python
    for testing purpose
    """
    smtpObj = smtplib.SMTP(host='smtp.gmail.com', port=587)
    smtpObj.ehlo()
    smtpObj.starttls()
    smtpObj.ehlo()
    smtpObj.login('xxx','xxx')
    smtpObj.sendmail(sender, receivers, message)
    smtpObj.quit()
    print "Successfully sent email"
except smtplib.SMTPException,error:
    print str(error)
    print "Error: unable to send email"

If u ran this code u would see a error message like this stating that google is not allowing u to login via code

Things to change in gmail:

1.Login to gmail

2.Go to this link https://www.google.com/settings/security/lesssecureapps

3.Click enable then retry the code

Hopes it help :)

But there are security threats if u enable it

Upvotes: 2

Adonay Sanz
Adonay Sanz

Reputation: 21

as is said here: How to send an email with Gmail as provider using Python?

This code works. But GMAIL wil warn you if you want to allow this script send the email or not. Sign in in your account, and accesss this URL: https://www.google.com/settings/security/lesssecureapps

import smtplib
gmail_user = "[email protected]"
gmail_pwd = "mypassword"
FROM = '[email protected]'
TO = ['[email protected]'] #must be a list
SUBJECT = "Testing sending using gmail"
TEXT = "Testing sending mail using gmail servers"
# Prepare actual message
message = """\From: %s\nTo: %s\nSubject: %s\n\n%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)
try:
  #server = smtplib.SMTP(SERVER) 
  server = smtplib.SMTP("smtp.gmail.com", 587) #or port 465 doesn't seem to work!
  server.ehlo()
  server.starttls()
  server.login(gmail_user, gmail_pwd)
  server.sendmail(FROM, TO, message)
  #server.quit()
  server.close()
  print 'successfully sent the mail'
except:
  print "failed to send mail"

Upvotes: 2

Related Questions