python发送邮件问题

少年夏侯寒 发布于 2016/06/14 10:38
阅读 164
收藏 0

@j_hao104 你好,想跟你请教个问题:关于python发送邮件这个地方。

import smtplib
from email.header import Header
from email.mime.text import MIMEText
server = smtplib.SMTP('smtp.163.com', 25)
server.login('j_hao104@163.com', 'clientPassword')
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
msg['From'] = 'j_hao104@163.com <j_hao104@163.com>'
msg['Subject'] = Header(u'text', 'utf8').encode()
msg['To'] = u'飞轮海 <jinghao5849312@qq.com>'
server.sendmail('j_hao104@163.com', ['946150454@qq.com'], msg.as_string())
你在文章里面说554的错误是没有定义msg[‘from'],然后添加了定义,我想知道,为什么是
msg['From'] = 'j_hao104@163.com <j_hao104@163.com>'
而不是,msg[‘from’]='<j_hao104@163.com>'为什么前面还要加上 j_hao104@163.com,同理的收件人前面为何加上飞轮海这个用户名?还请不吝赐教 

加载中
0
Feng_Yu
Feng_Yu
你自己试试区别不就知道了?
Feng_Yu
Feng_Yu
回复 @少年夏侯寒 : 554你要查对应的邮件服务商的错误码代表什么意思。一般来说,绝大多数服务商要求你的FROM必须和登录名保持一致。554错误可能是FROM和登录名不一致的错误。但是要看邮箱服务商的错误码确定。
少年夏侯寒
少年夏侯寒
我试过是 554 error,但是看的教程里,顺利实现了,所以我想知道不加用户名到底能不能实现邮件发送,是教程出错,还是其他的原因?
0
j_hao104
j_hao104
关于msg[‘from’]='<j_hao104@163.com>的问题, 尖括号外面的是名字,尖括号里面的是邮箱,你打开邮箱看下就知道了。同样飞轮海那个也是一样的。 加上名字不容易被拦截
返回顶部
顶部