[英]removing a variable from a list of comma seperated email ids
我有以下用于发送电子邮件的子例程,我试图从变量“ to”中删除用户“ username1”,该变量是逗号分隔的电子邮件ID,使用to = to.strip('username1')似乎不起作用,任何想法如何从变量“到”中删除username1@company.com
def email (body,subject,to=None):
msg = MIMEText("%s" % body)
msg["Content-Type"] = "text/html"
msg["From"] = "serviceaccount@company.com"
if to!=None:
to=to.strip()
to=to.strip('username1@company.com')
msg["To"] = to
print to
用逗号将其分开,然后再用逗号将它们重新加入,再减去排除的那个...
msg['To'] = ','.join(email for email in msg['To'].split(',') if email != 'username1@company.com')
您也可以将其概括为“不发送邮件”列表,例如:
DO_NOT_MAIL = ['username1@companyname.com', 'username2@anothercompany.com']
def email(body, subject, to=None):
msg = MIMEText("%s" % body)
msg["Content-Type"] = "text/html"
msg["From"] = "serviceaccount@company.com"
msg["To"] = ', '.join(email for email in set(to).difference(DO_NOT_MAIL))
您可以将它们拆分为一个列表,然后从列表中删除不需要的电子邮件:
exclude='username@company.com'
to=to.split(',')
to.remove(exclude)
to=','.join(to)
如果排除是多个地址的列表,请遍历该列表:
....
for e in exclude:
to.remove(e)
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.