Python Mandrill отправляет нескольким получателям на основе csv-файла

#python #pandas #csv #email #mandrill

Вопрос:

Я пытаюсь с помощью python отправлять электронные письма с помощью API Mandrill. Я хочу отправить несколько электронных писем на основе csv-файла.

Код:

 import mandrill
import csv
import logging

# set data file
data = 'list.csv'

# setup logging
log = 'send.log'
logging.basicConfig(filename=log, format='%(asctime)s %(message)s', level=logging.INFO)

# set api key
API_KEY = 'api key'

# set template slug
template = 'test'


def send_mail(template_name, key, data):
    # load mandrill
    mandrill_client = mandrill.Mandrill(key)

    # start counter
    num = 1

    # load email list
    with open(data, "r") as f:
        reader = csv.reader(f, delimiter=",")

        # loop through recipients
        for row in reader:

            # create message shell
            message = {
                'to': [],
                'global_merge_vars': []
            }

            # add recipient email
            message['to'].append({'email': row[0]})

            # add recipient name
            message['global_merge_vars'].append(
                {'name': 'name', 'content': row[1]}
            )

            # send
            mandrill_client.messages.send_template(template_name, [], message)

            # log results
            logging.info(
                '"Row: %d","Email: %s","Name: %s"' % (num, row[0], row[1])
            )

            # print confirmation to console            
            print('Sent %d to %s[%s]' % (num, row[1], row[0]))
            num  = 1
            


# call function to send mail
send_mail(template, API_KEY, data)
print('All done')

 

Выход:

 Sent 1 to test[test@email.com]
Sent 2 to test2[test2@hotmail.com]
Sent 3 to test3[test3@gmail,com]
Sent 4 to test4[test12@gmail.com]
All done
 

CSV-файл выглядит следующим образом

тест test@email.com
испытание 1 test@hotmail.com

Это не выдает ошибку, но также не отправляет электронные письма.

Знает ли кто-нибудь сейчас, как отправлять несколько электронных писем на основе csv-файла с помощью Python? Все равно спасибо!