Sendgrid-django отправка почты с включенным sandbox_mode

Я интегрировал sendgrid-django в свой проект, электронные письма работают нормально, и все выглядит хорошо . Согласно документации Sendgrid, если я хочу протестировать электронное письмо, не отправляя его, я должен сделать что-то вроде этого:

"mail_settings": {
    "sandbox_mode": {
        "enable": True
    }
}

Итак, используя sendgrid-django, я создал объект электронной почты, оставил аргумент body пустым, чтобы использовать шаблон sendgrid, добавил sendgrid template_id, подстановки и затем mail_settings:

mail = EmailMessage(
    'Subject of my email',
    ' ',
    '[email protected]',
    [[email protected]],
    reply_to=[[email protected]],
)
mail.template_id = 'template_id'
mail.substitutions = {
    '-first_name-': 'Ace',
    '-last_name-': 'Ventura'
}
mail.mail_settings = {
    "sandbox_mode": {
        "enable": True
    }
}

Моя электронная почта в любом случае отправляется, поэтому вопрос в том ... как я могу добавить эти mail_settings и заставить их работать ??


person Nato522    schedule 06.04.2017    source источник


Ответы (1)


Очевидно, при использовании sendgrid-django нам нужен .mail вместо .mail_settings, поэтому решение для этого будет:

mail.mail = {
    "sandbox_mode": {
        "enable": True
    }
}

Таким образом, электронное письмо не будет отправлено, но мы сможем увидеть, имеет ли статус 2XX, и все в порядке.

person Nato522    schedule 07.04.2017