我正在尝试编写一个Python函数,使用默认安装的邮件客户端将电子邮件发送到用户列表.我想打开电子邮件客户端,并让用户有机会编辑用户列表或电子邮件正文.
我做了一些搜索,并根据这里:
显然违反了RFC规范,将多个以逗号分隔的收件人放在mailto链接中.然而,这就是其他人似乎都在这样做的方式.这个现代立场究竟是什么?
无论如何,我发现了以下两个网站:
这似乎建议使用urllib.parse(url.parse.quote为我)和webbrowser.open建议解决方案.
我尝试了第一个链接(2ality.blogspot.com)中的示例代码,并且工作正常,并打开了我的默认邮件客户端.但是,当我尝试在我自己的模块中使用代码时,似乎打开了我的默认浏览器,出于一些奇怪的原因.地址栏中没有有趣的文字,它只是打开浏览器.
email_incorrect_phone_numbers()函数位于Employees类中,该类包含Employee对象的字典(employee_dict),这些对象本身具有许多雇员属性(sn,givenName,mail等).完整代码实际上在这里(Python – Converting CSV to Objects – Code Design)
from urllib.parse import quote
import webbrowser
....
def email_incorrect_phone_numbers(self):
email_list = []
for employee in self.employee_dict.values():
if not PhoneNumberFormats.standard_format.search(employee.telephoneNumber):
print(employee.telephoneNumber,employee.sn,employee.givenName,employee.mail)
email_list.append(employee.mail)
recipients = ','.join(email_list)
webbrowser.open("mailto:%s?subject=%s&body=%s" %
(recipients,quote("testing"),quote('testing'))
)
有什么建议?
干杯,
胜利者