Я искал об этом довольно много, но не смог исправить проблему в моем скрипте. Поэтому, наконец, я решил опубликовать его здесь.smtplib: Почему получатели в поле «Кому» получают почту дважды?
Вот фрагмент кода:
fromaddr = "[email protected]"
cc = ['[email protected]']
toaddr = ""
msg = MIMEMultipart()
toaddrlist = list(toaddr.split(',')) #As sendmail() accepts the list of recipients only in list form.
toaddrlist += (cc,)
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Cc'] = ', '.join(cc)
msg['Date'] = formatdate(localtime=True)
msgHtml = MIMEText(html, 'html')
msg.attach(msgHtml)
msg['Subject'] = "Test mail"
server = "someMailServer.xyz.com"
smtp = smtplib.SMTP(server, 25)
smtp.sendmail(fromaddr, toaddrlist, msg.as_string())
smtp.close() #Close the SMTP server connection.
Я знаю, и я заверил, что сообщ [ «To»] принимает значение строки (toaddr), в то время как toaddrlist в Sendmail() должен быть список ,
Поймать: Если я удалю строку toaddrlist += (cc,)
, тогда почта не будет доставлена дважды получателям в поле «Кому», но почта не будет доставлена на псевдоним Cc.
Пожалуйста, помогите.
Спасибо Ахмеду, но ни один из исправлений похоже, устраняет проблему. Я все еще получаю письмо дважды. Чтобы узнать, что может быть не так, я напечатал значения 'toaddr' и' toaddrlist', и они являются 'somemail @ xyz.com' и' [u'[email protected] ', [email protected] '] 'соответственно в обоих случаях. –