Python Send_mail不是向gmail id发送邮件。[django]
setting.pyPython Send_mail不是向gmail id发送邮件。[django],python,django,email,Python,Django,Email,setting.py EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' DEFAULT_FROM_EMAIL = 'xxxxx@gmail.com' SERVER_EMAIL = 'xxxxx@gmail.com' EMAIL_USE_TLS = True EMAIL_HOST = 'smtp.gmail.com' EMAIL_PORT = 587 EMAIL_HOST_USER = 'papercrib09@gm
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
DEFAULT_FROM_EMAIL = 'xxxxx@gmail.com'
SERVER_EMAIL = 'xxxxx@gmail.com'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'papercrib09@gmail.com'
EMAIL_HOST_PASSWORD = 'XXXXX'
views.py
print "before sending the mail"
send_mail(email_subject, email_body, 'xxx@gmail.com',
[yyy@gmail.com], fail_silently=False)
print "after sending the mail"
在执行它之后,我能够看到消息是从xxx@gmail.com到yyy@gmail.com
在发送邮件之前:
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Subject: Account confirmation
From: xxx@gmail.com
To: yyy@gmail.com
Date: Sat, 22 Aug 2015 18:22:13 -0000
Message-ID: <20150822182213.5748.80357@SymMacToolkit-CPWKWBL7DTY3>
Hey user, thanks for signing up. To activate your account, click this link within 48 hours http://127.0.0.1:8000/accounts/confirm/1900aac9e91300ef2b35fdcc8cdc16305b2e0c18
MIME版本:1.0
内容类型:文本/纯文本;charset=“utf-8”
内容传输编码:7bit
主题:账户确认
发件人:xxx@gmail.com
致:yyy@gmail.com
日期:2015年8月22日星期六18:22:13-0000
消息ID:
嘿,用户,谢谢你的注册。要激活您的帐户,请在48小时内单击此链接http://127.0.0.1:8000/accounts/confirm/1900aac9e91300ef2b35fdcc8cdc16305b2e0c18
发送邮件后:
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Subject: Account confirmation
From: xxx@gmail.com
To: yyy@gmail.com
Date: Sat, 22 Aug 2015 18:22:13 -0000
Message-ID: <20150822182213.5748.80357@SymMacToolkit-CPWKWBL7DTY3>
Hey user, thanks for signing up. To activate your account, click this link within 48 hours http://127.0.0.1:8000/accounts/confirm/1900aac9e91300ef2b35fdcc8cdc16305b2e0c18
没什么。试试这个:
from email.mime.multipart import MIMEMultipart
import smtplib # Use of SMTP is to connect to a mail server and send a message
# Email Settings
LOG_MAILTO = 'mail@gmail.com' # Account email address
LOG_PASS = 'password' # Email's password
LOG_FROM = 'othermail@gmail.com' # Email will be sent from this address
LOG_SUBJ = 'BlahBlah' # Email subject
LOG_MSG = 'BlahBlah' # Email content - the body
# Send email function
msg = MIMEMultipart()
msg['Subject'] = LOG_SUBJ # Mail subject
msg['From'] = LOG_FROM # Mail sender
msg['To'] = LOG_MAILTO # The mail will be send to this address
msg.preamble = LOG_MSG # Mail body
server = smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(LOG_FROM, LOG_PASS)
server.sendmail(LOG_FROM, LOG_MAILTO, msg.as_string())
server.quit()
我认为您的错误是因为您没有添加我添加的特殊部件。您在设置文件中添加了以下中间件 'django.core.mail.backends.console.EmailBackend'
这不会向Gmail客户端发送电子邮件。电子邮件正文将在应用程序正在运行的应用程序控制台上打印。尝试删除此行此解决方案无效。它卡在“msg=MIMEMultipart()”处。它抛出以下错误。异常值:[Errno 65]删除此行后,在create_connection的第571行中,没有到主机异常位置的路由:/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py。它不起作用。但这不应该存在。谢谢你指点。现在发生了什么?你能解释一下吗?