使用 django 发邮件一直报认证错误 (535, 'Error: authentication failed'),但是用 stmp 模块登录发送邮件没有问题,使同一个账户,密码也使用一样的,但是用 django 发送的时候会报错怎么回事? stmp 代码如下,可以正常的发送
msg['to'] = '[email protected]' msg['from'] = '[email protected]' msg['subject'] = 'receive or ship parts' try: server = smtplib.SMTP('smtp.163.com') server.login('[email protected]','xxxxx555') server.sendmail(msg['from'],msg['to'],msg.as_string()) server.quit() print 'successfully' except Exception, e: print str(e) if __name__=='__main__': sendmail(item_list,meta_dict)
django setting 代码如下:
EMAIL_USE_TLS = True EMAIL_HOST = 'smtp.163.com' EMAIL_HOST_USER = '[email protected]' EMAIL_HOST_PASSWORD = 'xxxxx555' EMAIL_PORT = 25
email 函数如下:
template_html = get_template('email.html') cOntext= Context({'user': user, 'other_info': info}) if not user.e try: subject, from_email, to = 'hello world', '[email protected]', '[email protected]' text_cOntent= 'This is an import message.' html_cOntent= '<p>This is an <strong>important</strong> message.</p>' msg = EmailMultiAlternatives(subject, text_content, from_email, [to]) msg.attach_alternative(html_content, "text/html") msg.send() print 'sucessful' except Exception, e: print 'failed', e
1 lightning1141 2016-08-03 16:10:46 +08:00 via Android EMAIL_USE_TLS = True 用 TLS 的话,端口应该就不是 25 了, 163 SMTP 设置那边有 |