How to send an email without login to server in Python

一个人想着一个人 提交于 2020-03-17 07:38:39

问题


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='from@Address.com'         
toAddr='to@Address.com'     
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', 'from@Address.com')"


回答1:


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 = "testpython@test.com"
TO = "bla@test.com"
MSG = "Subject: Test email python\n\nBody of your message!"
server.sendmail(FROM, TO, MSG)

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



回答2:


The code below worked for me. First, I opened/enabled Port 25 through Network Team and used it in the program.

import smtplib                          
smtpServer='smtp.yourdomain.com'      
fromAddr='from@Address.com'         
toAddr='to@Address.com'     
text= "This is a test of sending email from within Python."
server = smtplib.SMTP(smtpServer,25)
server.ehlo()
server.starttls()
server.sendmail(fromAddr, toAddr, text) 
server.quit()


来源:https://stackoverflow.com/questions/55672983/how-to-send-an-email-without-login-to-server-in-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!