代码如下:
#!/usr/bin/env python from email import encoders from email.header import Header from email.mime.text import MIMEText from email.utils import parseaddr, formataddr import smtplib def _format_addr(s): name, addr = parseaddr(s) return formataddr((Header(name, 'utf-8').encode(), addr)) from_addr = input('From: ') password = input('Password: ') to_addr = input('To: ') smtp_server = input('SMTP server: ') msg = MIMEText('hello, send by Python...', 'plain', 'utf-8') msg['From'] = _format_addr('Python爱好者 <%s>' % from_addr) msg['To'] = _format_addr('管理员 <%s>' % to_addr) msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode() server = smtplib.SMTP(smtp_server, 25) server.set_debuglevel(1) server.login(from_addr, password) server.sendmail(from_addr, [to_addr], msg.as_string()) server.quit()
由于163邮箱的手机不能验证,开启不了smtp,所以没有验证。
发送给outlook和yahoo邮箱,出现下面错误: smtplib.SMTPException: SMTP AUTH extension not supported by server. 是outlook和yahoo不支持吗,还是设置错误?
发送给qq邮箱,出现下面错误: smtplib.SMTPAuthenticationError: (535, b'Error: \xc7\xeb\xca\xb9\xd3\xc3\xca\xda\xc8\xa8\xc2\xeb\xb5\xc7\xc2\xbc\xa1\xa3\xcf\xea\xc7\xe9\xc7\xeb\xbf\xb4: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256') 看网页应该是需要一个什么登录验证码,不知道怎么解决。
最后发送给aliyun邮箱,成功了。
一个小时前刚解决这个问题, qq邮箱需要授权码,可参考报错信息中的链接获取,然后将获取的授权码赋值给邮箱密码,在flask-mail中是MAIL_PASSWORD=‘#授权码’。 时隔一年半……希望可以帮到你
具体是怎么样的?我是用163发送,qq用来接收邮件。我的授权码要放在哪里才可以呢?
QQ邮箱的授权码就是用授权码代替密码就行了,二楼的 MAIL_PASSWORD=‘#授权码’ 多了个#号
Sign in to make a reply
Adam常
代码如下:
由于163邮箱的手机不能验证,开启不了smtp,所以没有验证。
发送给outlook和yahoo邮箱,出现下面错误: smtplib.SMTPException: SMTP AUTH extension not supported by server. 是outlook和yahoo不支持吗,还是设置错误?
发送给qq邮箱,出现下面错误: smtplib.SMTPAuthenticationError: (535, b'Error: \xc7\xeb\xca\xb9\xd3\xc3\xca\xda\xc8\xa8\xc2\xeb\xb5\xc7\xc2\xbc\xa1\xa3\xcf\xea\xc7\xe9\xc7\xeb\xbf\xb4: http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256') 看网页应该是需要一个什么登录验证码,不知道怎么解决。
最后发送给aliyun邮箱,成功了。