NuageL 2022-11-18 11:14 采纳率: 16.7%
浏览 20

UnicodeEncodeError: 'ascii' codec can't encode character

想用Python的SMTP给自己发邮件试试,在txt中随机选取一句话发送(中文),但是显示UnicodeEncodeError: 'ascii' codec can't encode characters in position 8-13: ordinal not in range(128),

img

试了网上的方法(python 3):

import importlib
importlib.reload(sys)

还是无法解决

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-11-18 11:41
    关注

    用下面的可以发送中文,题主那段代码用ascii编码中文内容会出错

    
    import smtplib
    from email.mime.text import MIMEText
    from email.header import Header
    
    
    from_addr = 'xxx@xxx.xxx'
    password = 'xxxx'
    to_addr = 'xxx@xx.xxx'
    smtp_server = 'xx.xx.xx'
    
    msg = MIMEText('使用python发送邮件测试', 'plain', 'utf-8')
    
    msg['From'] = Header('张三') 
    msg['To'] = Header('李四') 
    subject = 'Python SMTP 邮件测试'
    msg['Subject'] = Header(subject, 'utf-8') 
    
    try:
        smtpobj = smtplib.SMTP_SSL(smtp_server)
        smtpobj.connect(smtp_server, 465)  
        smtpobj.login(from_addr, password)   
        # 发送邮件
        smtpobj.sendmail(from_addr, to_addr, msg.as_string()) 
        print("邮件发送成功")
    except smtplib.SMTPException:
        print("无法发送邮件")
    finally:
        # 关闭服务器
        smtpobj.quit()
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 11月18日

悬赏问题

  • ¥50 求大神教题,这个代码和讲解思路都怎么写呀,完全卡住了
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?
  • ¥100 需要跳转番茄畅听app的adb命令
  • ¥50 寻找一位有逆向游戏盾sdk 应用程序经验的技术
  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument