Передача уникальной переменной при отправке электронной почты с Django

В моем проекте Django у меня есть leads которые принадлежат organization, Одно из моих представлений фильтрует эти лиды по организации, а затем отправляет им по электронной почте сообщение. Это сообщение в форме HTML-шаблона.

В настоящее время вот как я это делаю:

# FIRST: get a list of all the emails
leads_email = []

leads = Lead.objects.filter(organization=organization)
for lead in leads:
    if lead.email != None:
        leads_email.append(lead.email)


# SECOND: Django email functions
msg = EmailMessage(subject, 
                  get_template('email_templates/campaign_email.html').render(
                        {
                            'message': message,
                        }
                    ),
                    from_email,
                    bcc=to_list)
msg.content_subtype = "html"
msg.send()

Однако каждый lead имеет уникальный код, связанный с ними, это поле находится в lead.code, Я хотел бы включить этот код в электронное письмо.

Например, если уникальный код test@mail.com - "test123", то я хочу включить его в электронное письмо только по адресу test@mail.com. В настоящее время я делаю это, передавая переменную с именем messageОднако, это не уникально, и каждый лидер получает то же самое.

Любая идея о том, как я могу это сделать? Спасибо

1 ответ

Решение

Если у вас есть содержимое электронной почты, относящееся к каждому объекту, вам придется отправлять электронные письма отдельно, а не навалом. Так что вам просто нужно включить код электронной почты в ваш цикл;

leads = Lead.objects.filter(organization=organization)
for lead in leads:
    if lead.email != None:
        msg = EmailMessage(
            subject, 
            get_template('email_templates/campaign_email.html').render(
                {
                    'message': message,
                    'code': lead.code
                }
            ),
            from_email,
            [lead.email, ]
        )
        msg.content_subtype = "html"
        msg.send()
Другие вопросы по тегам