首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于地址显示名称中的非ASCI字符,Python SMTP lib需要SMTPUTF8

SMTPUTF8是一种扩展协议,用于支持在SMTP邮件中使用非ASCI字符。在传统的SMTP协议中,只能使用ASCI字符来表示邮件地址的显示名称,而不能包含非ASCI字符。然而,随着全球化的发展,越来越多的用户需要在邮件中使用非ASCI字符来表示他们的名称。

Python SMTP lib是Python标准库中的一个模块,用于发送邮件。它提供了一组函数和类,可以方便地构建和发送邮件。然而,默认情况下,Python SMTP lib不支持在地址显示名称中使用非ASCI字符。

为了解决这个问题,Python SMTP lib引入了SMTPUTF8扩展。通过在SMTP会话中使用SMTPUTF8扩展,可以在地址显示名称中使用非ASCI字符。SMTPUTF8扩展使用UTF-8编码来表示非ASCI字符,确保在邮件传输过程中的正确性。

使用Python SMTP lib发送包含非ASCI字符的邮件时,可以通过在SMTP会话中启用SMTPUTF8扩展来支持这些字符。具体的步骤如下:

  1. 导入smtplib模块:import smtplib
  2. 创建SMTP连接:smtp = smtplib.SMTP('smtp.example.com')
  3. 启用SMTPUTF8扩展:smtp.ehlo()
  4. 发送邮件:smtp.sendmail(sender, recipients, message)
  5. 关闭SMTP连接:smtp.quit()

需要注意的是,SMTP服务器也需要支持SMTPUTF8扩展才能正常发送包含非ASCI字符的邮件。如果SMTP服务器不支持SMTPUTF8扩展,那么即使在Python SMTP lib中启用了SMTPUTF8扩展,仍然无法发送包含非ASCI字符的邮件。

对于腾讯云的相关产品,推荐使用腾讯云的邮件推送服务(https://cloud.tencent.com/product/ses)来发送邮件。腾讯云的邮件推送服务支持SMTPUTF8扩展,并且提供了简单易用的API接口和控制台管理界面,方便开发者发送包含非ASCI字符的邮件。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Python发邮件脚本,Python调用163邮箱SMTP服务实现邮件群发

    不过国外,尤其是外贸,对于邮件营销,邮件收发还是存在,这就有了下面这个命题,Python发邮件脚本,本渣渣当然不会,直接调包吧,度娘搜索现成脚本,例子,即可,好好做一个调包侠,难道不香吗?...关于SMTP SMTP 全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件规范,通过它来控制邮件中转方式。...:mail.sendemail(sender=, receivers=) 第一参数是发送者邮箱地址字符串格式) 第二参数是接收者邮箱地址字符列表) 构造头部信息:mail.header_info...=, pic_cid) 第一参数是图片地址字符串格式) 第二参数是图片id(字符串格式),与超文本cid保持一致 构造附件内容:mail.Enc(enc_address=. enc_name=) 第一参数是附件地址...(字符串格式) 第二参数是附件名称字符串格式),在邮件显示名称 源码参考 #Python 网易邮箱简单发送邮件 # -*- coding: utf-8 -*- import smtplib

    3.5K20

    Centos7安装Airflow2.x redis

    5.0.8 安装 数据库安装 略(自行百度) 注意开启远程连接(关闭防火墙) 字符集统一修改为UTF8(utf8mb4也可以)防止乱码 高版本mysql 或者Maria DB 会出现VARCHAR(...airflow.utils.email.send_email_smtp smtp在你要设置邮箱服务器地址在邮箱设置查看(此处为163 smtp_host = smtp.163.com 邮箱通讯协议...smtp_starttls = False smtp_ssl = True 你邮箱地址 smtp_user = demo@163.com 你邮箱授权码在邮箱设置查看或百度 smtp_password...= 16位授权码 邮箱服务端口 smtp_port = 端口 你邮箱地址smtp_mail_from = demo@163.com 在dagdefault_args添加参数 default_args...需要不小于10才行,若小于10,那么会有任务需要等待之前任务执行完成才会开始执行。

    1.8K30

    Python 自动化指南(繁琐工作自动化)第二版:十八、发送电子邮件和短信

    填写完表单后,页面会显示一个指向credentials.json文件链接,您需要下载该文件并将其放在与您py文件相同文件夹。...Sincerely, Bob') {} sendmail()方法需要三个参数: 字符串形式电子邮件地址(代表电子邮件“发件人”地址字符串形式收件人电子邮件地址,或者多个收件人字符串列表(对于...您计算机上返回 UID 列表将与此处显示不同;它们对于特定电子邮件帐户是唯一。当您稍后将 UID 传递给其他函数调用时,请使用您收到 UID 值,而不是本书示例打印值。...get_addresses()返回值是元组列表。每个元组包含两个字符串:第一个是与电子邮件地址相关联名称,第二个是电子邮件地址本身。...当你需要偶尔发送紧急信息时,通过短信网关发送文本是理想。如果你需要更可靠服务,使用电子邮件短信网关服务,如下所述。

    11.2K40

    Centos下堡垒机Jumpserver V3.0环境部署完整记录(1)-安装篇

    连接数据库成功 请输入SMTP地址: smtp.163.com //(腾讯企业邮箱smtp地址smtp.exmail.qq.com) 请输入SMTP端口 [25...需要注意下面亮点  在使用jumpserver过程,有一步是系统用户推送,要推送成功,client(后端服务器)要满足以下条件: 后端服务器需要python、sudo环境才能使用推送用户,批量命令等功能...包含了账号和密码,一切完成后,请将 jumpserver.conflog改为 warning等 2)推送系统用户失败 在系统用户列表,点击系统用户名称,查看系统用户详情,把鼠标放到失败按钮上,会看到失败原因...,通常是因为 管理账号添加不对(见管理账号名称解释),或服务器没有安装sudo(推送系统用户时,会推送sudo设置) 3)邮件发送失败 如果出现mail,smtp等错误通常都是由于发送邮件导致,请尝试不同提供商邮件设置...没有启动,可能是Jumpserver.confwebsocket地址不正确(注意这个文件里ip地址配置,内外网地址

    4K110

    ❤️《10个超级常用Python方法总结》复制即用丨小白捷径

    你可以指定主机ip地址或者域名如: runoob.com,这个是可选参数。 port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用端口号,一般情况下 SMTP 端口号为25。...local_hostname: 如果 SMTP 在你本机上,你只需要指定服务器地址为 localhost 即可。...to_addrs: 字符串列表,邮件发送地址。 msg: 发送消息 案例: #!...y 轴上对应值存储在另一个数组对象 y 。 这些值使用 matplotlib 软件包 pyplot 子模块 plot() 函数绘制。 图形由 show() 函数显示。...可以说是爬虫必备,对于复杂匹配和处理,正则表达式提供了简洁、优化解决方案:如果只需要简单功能,应该首先考虑字符串方法,因为它们非常简单,易于阅读和调试: >>> 'tea for too'.replace

    32220

    添加自定义监控项目、邮件告警 原

    “创建图形”: “添加”添加完成后,为该监控项配置“图形”——“创建图形”:    注意: 在此设定图形名称后,需要先为该图形“添加”(该添加为参数“监控项”下添加)监控项,然后再点击最下面的“...开启邮箱POP3、IMAP、SMTP服务 登录163邮箱,开启POP3、IMAP、SMTP服务: 登录邮箱后,“设置”——“POP3、IMAP、SMTP”——“保存”: 说明: 首次开启该服务需要进行用户认证...配置报警媒介类型 “管理”——“报警媒介类型”——“创建媒介类型”: 说明: 设定媒介类型名称、类型、脚本名称(与服务器脚本名称保持一致)、添加脚本参数(该参数为zabbix内置参数,之后会配置在...“默认信息”改为以上参数: 点击“新”配置上图中指定参数其余参数保持默认(该部分信息才是发邮件具体行为),配置完上述内容后点击“添加”(此处==蓝色==添加按钮)。...恢复操作: 即客户机状态恢复后需要执行操作。

    60440

    C站最全Python库总结丨标准库+高级库

    如初等函数三角函数、反三角函数与对数函数、指数函数都是初等超越函数,一般来说初等函数都是超越函数。...可以说是爬虫必备,对于复杂匹配和处理,正则表达式提供了简洁、优化解决方案:如果只需要简单功能,应该首先考虑字符串方法,因为它们非常简单,易于阅读和调试: >>> 'tea for too'.replace...你可以指定主机ip地址或者域名如: runoob.com,这个是可选参数。 port: 如果你提供了 host 参数, 你需要指定 SMTP 服务使用端口号,一般情况下 SMTP 端口号为25。...local_hostname: 如果 SMTP 在你本机上,你只需要指定服务器地址为 localhost 即可。...测试构造如同简单将它输出结果剪切并粘贴到文档字符

    58120

    原 添加自定义监控项目,配置邮件告警,测

    需求:监控某台web80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现 对于第一步,需要到客户端定义脚本 vim /usr/local/sbin/estab.sh.../zabbix/alertscripts 目录 进入到 /usr/lib/zabbix/alertscripts/ 里面,创建一个在zabbix上定义过名称脚本 然后在创建里面里面写入代码。...https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py 地址里面可以找到写入代码,把需要写入代码复制站台到脚本里面即可...首先定义好脚本邮箱账号和密码 #2....测试脚本命令:python mail.py 邮件接收者 “邮件主题” “邮件内容” 上面全部配置完以后,第二步我们就需要去给zabbix创建一个用户 设置用户 设置报警媒介 还需要设置一下权限: 全部配置完成以后

    63930

    PPT自动化处理

    python-pptx模块 可以创建、修改PPT(.pptx)文件 Python标准模块,需要单独安装 在线安装方式  pip install python-pptx  读取slide幻灯片 .slides...写入数据 添加幻灯片slide      add_slide(prs.slide_layouts[0]) 向占位符添加内容   shape.text= 字符串 添加段落paragraph      ...标准模块,需要单独安装 pdfplumber模块  可以更好地读取PDF文件内容 可以提取PDF表格 Python标准模块,需要单独安装 pip install pypdf2 pip install...IMAP包 进行IMAP相关操作 开启QQ邮箱SMTP功能  发送一封简单邮件   yagmail.SMTP(usre=用户名,host=SMTP服务器域名) .send(接收方邮箱,主题,内容)...利用Python读取邮件 读取密码(授权码)       keyring.get_password(‘yagmail’,邮箱) 读取邮件内容             imbox(IMAP服务器地址,邮箱地址

    9610

    linux学习第六十二篇:添加自定义监控项目,配置邮件告警,测试告警,不发邮件问题处理

    添加自定义监控项目 需求:监控某台web80端口连接数,并出图 两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现 对于第一步,需要到客户端定义脚本 vim /usr/local...名称自定义,类型选脚本。...首先定义好脚本邮箱账号和密码 #2....设置动作,“配置”,“动作”,“创建动作”,名称写“发邮件”(自定义),“新触发条件”,A维护状态 非在 维护,B触发器示警度>=未分类 ?...测试告警 我们自定义触发器,设置负载小于1时候就警告发邮件,这里显示邮件已经发送了 ? 我们邮箱也收到了邮件 ? 主动模式和被动模式设置 ?

    754100

    python接口自动化(三十)--html测试报告通过邮件发出去——(详解)

    简介   上一篇,我们虽然已经将生成最新测试报告发出去了,但是MIMEText 只能发送正文,无法带附件,因此我还需要继续改造我们代码,实现可以发送带有附件邮件。...发送带附件需要导入另外一个模块 MIMEMultipart。还有就是测 试负责人不止一个人,需要将测试报告发给多个人,也就是多个收件人。这篇主要是围绕这两个主题进行讲解。...折腾好久,发现是这样:email收件人和sendmail收件人是没啥联系。...这个为实际收件人地址。 而msg['To'] 格式是字符串(str)。这个只是为了邮件打印出来而已。...sendmail查源码,python/lib/smtplib.py大概690行左右,或者搜索tolist。

    1.8K31

    RFC821 简单邮件传输协议(SMTP

    当一个SMTP服务器从转发路径删除自己标记并将它插入到回复路径时,它必须使用它发送环境能够理解名称来进行,以防它名称在不同环境中被理解为不同名字。   ...此表也有作向发送者返回传递信号源路径。因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收IPCE(如果它们不是一个IPCE的话)清楚名称。...NITS连接支持传输8位字节,而SMTP需要传输7位;这样,每个8位字符最高位被置为0。...传输信道 在发送SMTP和接收SMTP之间建立全双工用于交换命令,应答和邮件内容信道 字符显示字符串 行 以一个结束邮件内容 应答 接收SMTP对发送SMTP通过传输信道发送对某一命令...它通常由用户名和主机名表示 命令 由发送SMTP发送到接收SMTP要求一个邮件服务操作请求 域 邮件系统主机地址字符层次式表示 接收SMTP进程 与发送SMTP进程一起工作进程。

    1.9K30

    python实现邮件接收、附件下载

    发送邮件 SMTP协议 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件规则,由它来控制信件中转方式。...== "__main__": # 这里密码是开启smtp服务时输入客户端登录授权码,并不是邮箱密码 # 现在很多邮箱都需要先开启smtp才能这样发送邮件 send_email...(u"from_addr",u"to_addr",u"主题",u"password") 邮箱 SMTP服务器 SSL协议端口 SSL协议端口 163 smtp.163.com 465或者994 25...qq smtp.qq.com 465或587 25 接收邮件 POP3和IMAP POP是指邮局协议,目的是让用户可以访问邮箱服务器邮件,允许用户从服务器上把邮件存储到本地主机(即自己计算机)上...通常这个循环有两次,第一次是单纯字符串格式,能在控制台显示出来,第二次循环打印是像HTML格式,能在浏览器里查看,就像平时看到邮件那样。

    6.2K50

    python之办公自动化

    1.9 批量修改目录文件名称首先我们知道文件名需要修改指定字符串,至于实现方法,那当然是通过循环,将目标字符串加入到文件名并进行修改。...注意,get_rows函数返回是一个生成器,因此你需要使用for循环遍历每一行。对于每一行,你可以使用for循环遍历每一个单元格,并使用value属性获取单元格值。...然后,它遍历了所有幻灯片,对于每一张幻灯片,再遍历所有形状。对于每个形状,如果它有文本框,就打印出文本框文本;如果它有表格,就遍历表格所有单元格,并打印出单元格文本。...这个函数需要三个参数:发件人地址、收件人地址(可以是一个列表,表示同时发送给多个人)和邮件正文。在代码,邮件正文是通过调用 as_string 方法将电子邮件对象转换为字符形式传递。..._Systemd博客-CSDN博客_smtputf8

    5K191

    python发送邮件(二)——smtplib模块和email模块

    SMTP.has_extn(name):判断指定名称在服务器邮件列表是否存在。出于安全考虑,smtp服务器往往屏蔽了该指令。...这里要注意一下第三个参数,msg是字符串,表示邮件。我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件时候,要注意msg格式。这个格式就是smtp协议定义格式。...而组织Email邮件内容结构任务,不属于smtplib模块范围,我们需要用到email模块(标准库模块)提供一些工具,比如这些库 from email.header import Header...函数是不使用编码后,带姓名Email地址字符,而是使用纯Email地址 # 补充一个函数小工具,它合并了 parseaddr和formataddr功能,输入以(发件人/收件人昵称<xxxxx@...所有To和Cc地址收件人,都看不到密送地址。要实现密送,只需要在sendmail函数,将密送地址加入第2个参数list即可。

    4.2K42

    Python3 使用smtplib和em

    邮件体包含邮件内容,它类型由邮件头Content-Type字段指明。RFC 2822定义邮件格式,邮件体只是单纯ASCII编码字符序列。...MIME (Multipurpose Internet Mail Extensions) (RFC 1341)   MIME扩展邮件格式,用以支持ASCII编码文本、文本附件以及包含多个部分...3. class email.mime.multipart.MIMEMultipart()   在3.0版本email模块 (Python 2.3-Python 2.5) ,这个类位于email.MIMEMultipart.MIMEMultipart...to_addrs: 字符串列表,邮件发送地址。   msg: 发送消息 这里要注意一下第三个参数,msg是字符串,表示邮件。...我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件时候,要注意msg格式。这个格式就是smtp协议定义格式。 2、文件形式邮件: #!

    51020

    python 发送邮件例子

    文件就可以发送邮件给开发者让其立马知道 下面只介绍简单发送脚本 如果需要在生产环境用起来  还需要按要求修改脚本 smtplib.SMTP([host[, port[, local_hostname[...smtplib.SMTP提供方法: SMTP.set_debuglevel(level) 设置是否为调试模式。默认为False,即调试模式,表示不输出任何调试信息。...相当于告诉smtp服务器“我是谁”。 SMTP.has_extn(name) 判断指定名称在服务器邮件列表是否存在。出于安全考虑,smtp服务器往往屏蔽了该指令。...SMTP.verify(address) 判断指定邮件地址是否在服务器存在。出于安全考虑,smtp服务器往往屏蔽了该指令。...这里要注意一下第三个参数,msg是字符串,表示邮件。我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件时候,要注意msg格式。这个格式就是smtp协议定义格式。

    40120

    Python自动化运维1

    ,返回三个列表分别是匹配,不匹配以及错误 - common : 列表表示需要对比文件[f1,f2,f3,f4] - 匹配为包含匹配文件列表,反之则不匹配,错误列表代表了目录不存在文件以及权限原因导致不能比较文件清单等等...#错误代码存储在错误smtp_code属性smtp_error属性设置为错误消息。 exception smtplib.SMTPSenderRefused #发送方地址拒绝了。...主机名参数默认为本地主机完全限定域名。 SMTP.login(user, password, *, initial_response_ok=True) #登录需要身份验证SMTP服务器。...如果from_addr为None或to_addrs为None,将会提取msg地址 SMTP.set_debuglevel(level) #设置调试输出级别 1/true / 2(在版本3.0add...>序号1序号2 主机名称IP地址 """+Content

    1.7K20
    领券