Вот пример кода, в котором перебираются элементы кортежа reportMail:
# -*- coding: utf-8 -*-
import os
from subprocess import Popen, PIPE
import smtplib
from email import Encoders
from email.MIMEBase import MIMEBase
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.Utils import formatdate
import time
import datetime
# Емайл для отправки отчетов
reportMail=( 'alice@mail.ru', 'bob@mail.ru' )
msg = MIMEMultipart()
msg["From"] = "Monitoring script"
msg["Subject"] = "Monitoring"
msg['Date'] = formatdate(localtime=True)
msg.add_header('From', 'Monitoring')
msg.add_header('Reply-To', 'Monitoring')
msg.add_header('X-Mailer', 'Python')
msg.add_header('Content-type', 'text/html charset=utf-8')
# Добавление текста сообщения
msg.attach(MIMEText("Это текст письма"))
# Перебор значений кортежа
for currentReportMail in reportMail:
print "Почтовый ящик "+currentReportMail+"\n"
msg["To"] = currentReportMail
print "А в конце "+msg["To"]+"\n"
Я ожидаю, что в конце будет показан e-mail Боба.
А на деле лог такой:
Почтовый ящик alice@mail.ru
Почтовый ящик bob@mail.ru
А в конце alice@mail.ru
Почему так? Почему в msg[«To»] волшебным образом оказывается старое значение?
Перемещено true_admin из web-development