繁体   English   中英

从逗号分隔的电子邮件ID列表中删除变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM