预期的str实例,找到带有名称字典的列表

我创建了一个函数,该函数返回一个电子邮件@或一个邮件列表@作为发送电子邮件的函数的参数。

def GetRespDom(product):
    dict_resp_produit = {'APO' : 'xxxx@domain.fr',
                         'BO'     : 'xxxx@domain.fr',
                         'SIN' : ['xxx@fomain.fr','xxxx@dom.fr']}
    try:
        mail_responsable =  dict_resp_produit.get(product)
        return mail_responsable
    except IndexError as e:
        return None

第一种情况:正确将电子邮件发送给Toaddrs = ['xxxxxx@xxxxxxxx.fr','xxxxxx@xxxxxxx.fr']

def SendMail(sujet, message):
    toaddrs = ['xxxxxx@xxxxxxxx.fr','xxxxxx@xxxxxxx.fr']
    ccaddrs = ['']
    server = smtplib.SMTP()
    server.connect(SMTP)
    server.helo()
    msg = MIMEMultipart('alternative')
    msg['Subject'] = sujet
    msg['From'] = fromaddr
    msg['To'] = ','.join(toaddrs)
    msg['Cc'] = ','.join(ccaddrs)
    part = MIMEText(message, 'html')
    msg.attach(part)
    server.sendmail(fromaddr, toaddrs, msg.as_string())
    server.quit()

第二种情况:电子邮件未在函数参数中正确发送邮件@ =>我收到错误TypeError:序列项0:预期的str实例,找到列表

def SendMail(sujet, message,*dest):
    toaddrs = list(dest)
    values = [i for i in toaddrs[0]]

    server = smtplib.SMTP()
    server.connect(SMTP)
    server.helo()
    msg = MIMEMultipart('alternative')
    msg['Subject'] = sujet
    msg['From'] = fromaddr
    msg['To'] = ','.join(toaddrs)
    msg['Cc'] = ','.join(ccaddrs)
    part = MIMEText(message, 'html')
    msg.attach(part)
    server.sendmail(fromaddr, toaddrs, msg.as_string())
    server.quit()

在这两种情况下,类型都相似且具有相同的值:['xxxxxx@xxxxxxx.fr','xxxxxx@xxxxxxx.fr']

你能告诉我如何解决吗? 非常感谢。 最好的祝福。 西奥

评论