Электронная почта Python, отправленная нескольким получателям - PullRequest
0 голосов
/ 24 января 2019

У моего кода нет проблем.В моем списке получателей у меня 10 адресов электронной почты.Знаете ли вы, чтобы отправить электронное письмо на каждый адрес электронной почты в этом списке?

Сообщение об ошибке:

pywintypes.com_error: (-2147352567, «Произошло исключение.», (4096, «Microsoft Out look», «Outlook не распознает одно или несколько имен.»,Нет, 0, -2147467259), Нет)

import win32com.client as win32
import pandas as pd

xls = pd.ExcelFile(path)
dfs = xls.parse(sheet_name="details", header = None)
recipients = dfs[21]

outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.To = recipients
mail.Subject = 'Automatic Email '
mail.Body = 'body'
mail.HTMLBody = 'Hello, this is a test </h2>'
mail.Send()

1 Ответ

0 голосов
/ 24 января 2019

Я бы сделал функцию для отправки сообщения, а затем просто поместил бы цикл for, который говорит: for email in email_list: send_email(your_subject, your_message, email)

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def send_email(subject, message, recipient):
    smtp_obj = smtplib.SMTP('smtp.mail.yahoo.com', 587)
    smtp_obj.starttls()
    smtp_obj.ehlo()
    smtp_obj.login('your_username_here', 'your_password_here')
    msg = MIMEMultipart()
    msg['From'] = 'your_email_here'
    msg['To'] = recipient
    msg['Subject'] = subject
    msg.attach(MIMEText(message, 'plain'))
    smtp_obj.sendmail(msg['From'], msg['To'], msg.as_string())
    smtp_obj.quit()

это моя функция для отправки электронной почты через Yahoo, но ее можно адаптировать, войдя на соответствующий SMTP-сервер для вашего провайдера (я бы догадался, как выглядит ваш код)

...