python发送邮件时如何设置昵称的问题?

yybjroam05 2014-08-14 01:55:03
python发送邮件时如何设置昵称,
如果写成:msg["From"]=Header(nick,'utf-8') 能显示昵称却不显示发件人地址。
...全文
2082 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xfwangqiang 2017-03-14
  • 打赏
  • 举报
回复
from email.mime.text import MIMEText from email.header import Header from email.utils import formataddr msg['From'] = formataddr(["昵称", "xxxx@xxx.com"]) 使用formataddr感觉是众多方法中最方便的了
Resemble_ 2016-07-20
  • 打赏
  • 举报
回复
请问你发邮件那里加个sendMail加个h是这么弄的,可否给我看看
yybjroam05 2014-08-21
  • 打赏
  • 举报
回复
可以发送中文昵称了,就是在smtp.sendmail里加上那个h, 谢谢!
angel_su 2014-08-18
  • 打赏
  • 举报
回复
贴出完整错误信息...
yybjroam05 2014-08-18
  • 打赏
  • 举报
回复
首先非常感谢你的回答,但还是不行,加上要报错。下面附上我的发送函数。

def sendmail(nick,title,content,tomail):
    '''发送电子邮件'''
    ziphanghao=[
                ["m02@sina.com","smtp.sina.com","123456"]
    ]


    zhao=random.choice(ziphanghao) #随机获取一个发件帐号
    MAIL_FROM=zhao[0]
    MAIL_TO = tomail
    msg = MIMEText(content,"html",_charset='utf-8')
    msg['Subject'] = Header(title,'utf-8')
    #h = Header(nick, 'utf-8')
    #h.append("<"+MAIL_FROM+">","utf-8")
    msg["From"]=MAIL_FROM
    try:
        smtp = smtplib.SMTP()
        smtp.connect(zhao[1])
        smtp.login(re.sub(r'\@[\w\-\.]+','',zhao[0]), zhao[2])#用户名和密码
        smtp.sendmail(MAIL_FROM, MAIL_TO, msg.as_string())
        return True
    except Exception as e:
        return False

angel_su 2014-08-18
  • 打赏
  • 举报
回复
服务器的问题,试过qq/163的没这个问题。你可以试试弄成一样smtp.sendmail(str(h), MAIL_TO, msg.as_string()),还有<>里的地址用ascii,不然就跟之前说的粘成一块都是昵称了...
yybjroam05 2014-08-18
  • 打赏
  • 举报
回复
h = Header(nick, 'utf-8') h.append("<"+MAIL_FROM+">","utf-8") msg["From"]=h 那么结果就是: (553, b'Envolope sender mismatch with header from.') 发送失败
angel_su 2014-08-15
  • 打赏
  • 举报
回复
类似msg["From"] = 'yybjroam05 <xxx@xxx.xxx.xxx>' ...
angel_su 2014-08-15
  • 打赏
  • 举报
回复
看了个有中文名称的原始邮件,貌似是分两段编码: h = Header('your_nickname', 'utf-8') h.append('<xxx@xxx.xxx.xxx>', 'ascii') msg["From"] = h
yybjroam05 2014-08-15
  • 打赏
  • 举报
回复
是的,换成中文就不行了?
yybjroam05 2014-08-14
  • 打赏
  • 举报
回复
import smtplib from email.mime.text import MIMEText import urllib.request import email from email.mime.multipart import MIMEMultipart from email.header import Header 引用的上面的模块
The_Third_Wave 2014-08-14
  • 打赏
  • 举报
回复
这个也是的,说清楚啊,用的是什么模块,用了什么方法。。。神估计知道你问的是什么。

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧