如何在Python3的exchangelib中设置发件人显示名称?
解决exchangelib发送邮件自定义发件人显示名称的问题
直接修改Account的初始化参数无法实现自定义发件人显示名称,因为Account对象绑定的是邮箱账户本身的属性。你需要在创建Message对象时,通过sender参数指定自定义的发件人信息:
- 导入
Mailbox类,用于封装自定义发件人的名称和邮箱地址 - 创建
Mailbox对象,设置你想要显示的名称和对应的邮箱地址 - 在创建
Message时,将这个Mailbox对象传给sender参数
完整代码示例:
from exchangelib import Account, Message, Mailbox # 初始化账户(无需修改这里) self.account = Account('myemail@domain.it', credentials=self.credentials, autodiscover=True) # 创建自定义发件人 custom_sender = Mailbox(name='label', email_address='myemail@domain.it') # 创建邮件并指定自定义发件人 m = Message( account=self.account, folder=self.account.sent, subject=subject, body=body, to_recipients=to_recipients, sender=custom_sender ) m.send()
注意:这里填写的邮箱地址必须与Account绑定的邮箱一致,否则可能会被邮件服务器拦截或标记为异常邮件。
内容的提问来源于stack exchange,提问作者Elisa
相关产品推荐
相关产品推荐

