我该如何解决以下错误。消息如下,用分号分隔测试邮件?理想情况下,我应该从 Sendfrom 测试中相应的电子邮件发送电子邮件。
测试
SENDFROM Test
xx@gmail.com xxxx@vvv.com;yyy@gggfg.com;tiitioo@ggg.com
yy@xxx.com ggg@vvv.com;yyy@gggfg.com;vvv@ggg.com
AttributeError: 'Series' object has no attribute 'split'
我的代码如下:
import smtplib, ssl
from email.message import EmailMessage
import getpass
email_pass = getpass.getpass() #Office 365 password
# email_pass = input() #Office 365 password
context=ssl.create_default_context()
for idx, row in test.iterrows():
emails = test['Test']
sender_list = test["SENDFROM"]
smtp_ssl_host = 'smtp.office365.com'
smtp_ssl_port = 587
email_login = "xx@xx.com"
email_from = sender_list
email_to = emails
msg2 = MIMEMultipart()
msg2['Subject'] = "xxx"
msg2['From'] = sender_list
msg2['To'] = ", ".join(email_to.split(";"))
msg2['X-Priority'] = '2'
text = ("xxxx")
msg2.attach(MIMEText(text))
s2 = smtplib.SMTP(smtp_ssl_host, smtp_ssl_port)
s2.starttls(context=context)
s2.login(email_login, email_pass)
s2.send_message(msg2)
s2.quit()
原文由 Hummer 发布,翻译遵循 CC BY-SA 4.0 许可协议
让我们试试 str.split 和 str.join :
输出: