(Редактирование исходного ответа после уточнения вывода вопроса)
Попробуйте переместить следующую строку в цикл for:
msg = MIMEMultipart('Alternative')
Чтобы выглядеть следующим образом:
for x in cont:
msg = MIMEMultipart('Alternative')
print time.ctime()
msg['Subject'] = "Test Mail - cripted Sample"
msg['To'] = x
msg['From'] = name+"\x0A\x0D"+uname
msg.attach(MIMEText(message, 'html'))
print "successfully sent email to %s:" % (msg['To'])
Я думаю, что сообщение должно быть новым в каждой итерации.
Мое тестирование дало точно такие же результаты - похоже, отправлять на один и тот же адрес электронной почты снова и снова.Потому что заголовки msg просто добавляются.Цикл for создавал несколько заголовков to :, но печать выявляла только первое.Ниже показано, как это выглядит при отладке:
Заголовок To: строка оригинала для цикла
Вывод оригинала для цикла
После добавления экземпляра msg в цикл for вывод был, как и ожидалось, с разными именами на каждой итерации.
Я думаю, что корень структуры msg может заключаться в том, что электронная почта может содержать более одного человека в строке to :.Приведенное выше решение предполагает, что вы хотите, чтобы только один человек на каждой линии:.