首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >试图从python发送电子邮件

试图从python发送电子邮件
EN

Stack Overflow用户
提问于 2014-12-03 12:58:11
回答 2查看 5.1K关注 0票数 0

我对python很陌生,当我试图使用python发送邮件时,我的程序如下所示

代码语言:javascript
运行
复制
import smtplib
from smtplib import SMTP

sender = 'raju.ab@gmail.com'
receivers = ['sudeer.p@eunoia.in']

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:

打印“错误:无法发送电子邮件”

执行时显示错误:无法发送邮件消息,如何在python中发送电子邮件请解释。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-03 13:40:13

我在代码中所做的:

1.添加一个错误对象以获取错误消息

代码语言:javascript
运行
复制
import smtplib
from smtplib import SMTP       

try:
    sender = 'xxx@gmail.com'
    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"

如果你运行这段代码,你会看到这样一条错误信息,说明谷歌不允许你通过代码登录。

gmail中要改变的事情:

1.登录gmail

2.转到这个链接https://www.google.com/settings/security/lesssecureapps

3.单击“启用”,然后重试代码

希望能有所帮助:)

但是如果你启用它,就会有安全威胁。

票数 2
EN

Stack Overflow用户

发布于 2014-12-03 13:30:13

正如这里所说:How to send an email with Gmail as provider using Python?

这个密码起作用了。但GMAIL会警告你,如果你想让这个脚本发送电子邮件或不。在您的帐户中登录,并访问以下网址:https://www.google.com/settings/security/lesssecureapps

代码语言:javascript
运行
复制
import smtplib
gmail_user = "yourmail@gmail.com"
gmail_pwd = "mypassword"
FROM = 'yourmail@gmail.com'
TO = ['receiber@email.com'] #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"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27272367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档