How to send an email without login to server in Python

Omkar picture Omkar · Apr 14, 2019 · Viewed 15.7k times · Source

I want to send an email without login to server in Python. I am using Python 3.6. I tried some code but received an error. Here is my Code :

import smtplib                          

smtpServer='smtp.yourdomain.com'      
fromAddr='[email protected]'         
toAddr='[email protected]'     
text= "This is a test of sending email from within Python."
server = smtplib.SMTP(smtpServer)
server.set_debuglevel(1)         
server.sendmail(fromAddr, toAddr, text) 
server.quit()

I expect the mail should be sent without asking user id and password but getting an error :

"smtplib.SMTPSenderRefused: (530, b'5.7.1 Client was not authenticated', '[email protected]')"

Answer

Marcelo Abreu picture Marcelo Abreu · Aug 3, 2019

I am using like this. It's work to me in my private SMTP server.

import smtplib

host = "server.smtp.com"
server = smtplib.SMTP(host)
FROM = "[email protected]"
TO = "[email protected]"
MSG = "Subject: Test email python\n\nBody of your message!"
server.sendmail(FROM, TO, MSG)

server.quit()
print ("Email Send")