Рубрики
Без рубрики

Отправка автоматизированных электронных писем с мазонитом Framework

Практическое руководство, показывающее, как отправлять автоматизированные электронные письма с использованием мазонитового фреймворка. Tagged с Python, Framework, Masonite.

Представьте себе сценарий, в котором вы хотите отправить еженедельное электронное письмо своим клиентам (возможно, информационный бюллетень 💌). Таким образом, вам нужно отправить это письмо в определенный день и время.

Этот пост пройдет через создание и отправку автоматических электронных писем с Масонит структура Анкет

Чтобы кодировать вместе с этим постом, вам понадобится:

  • Python (я использую Python 3.6.5);
  • Pipenv: рабочий процесс развития Python для людей;
  • Масонит : Современная и разработчик, ориентированная на Python Web Framework
  • Mailtrap.io: Тестирование по электронной почте для команд разработчиков;

Во -первых, создайте новый каталог и Python Virtualenv:

$ mkdir masonite-weekly-email
$ cd masonite-weekly-email
$ pipenv install --three
$ pipenv shell

После этого вам нужно установить мазонит-клин Пакет и создание нового Масонит заявление.

$ pipenv install masonite-cli
$ craft new masonite_weekly_email .
$ craft install

Это создаст новое приложение масонита в вашем текущем каталоге (использование . в конце Создать новый команда).

Масонит поставляется с поддержкой электронной почты из коробки 🎉. Таким образом, вы можете легко отправить электронное письмо как это:

Mail.to('hello@email.com').template('mail/welcome').send()

Теперь, когда мы закончили с отправкой электронной почты, давайте запланируем это. Масонит предоставляет пакет под названием Масонит-седулер Анкет Это позволяет вашему приложению планировать задачи Cron. Во -первых, вам нужно запустить команду для установки пакета:

$ pipenv install masonite-scheduler

Вторая команда – это ремесленное задание Команда, которая создаст новую задачу в рамках Приложение/Задачи каталог.

$ craft task WeeklyEmail

Прежде чем выполнять нашу задачу еженедельно, давайте запустим ее каждые 1 минуту.

from scheduler.Task import Task

class WeeklyEmail(Task):

    run_every = '1 minute'

    def __init__(self, Mail):
        self.mail = Mail

    def handle(self):
        self.mail.subject('Build your next SaaS with Masonite 🚀')\
                .to('hello@email.com').template('mail/weekly')\
                .send()

Выше вы отправляете электронное письмо с шаблоном, расположенным под Почта папка. Создайте файл с именем Weekly.html и положите случайный текст внутрь.

Hello world!

Masonite is magic. ✨

There are many benefits Masonite brings to your next SaaS project.

just do it

Давайте проверим это перед настройкой работы Cron. Поместите свой Mailtrap Условия в вашем .env файл и запустите эту команду.

$ craft schedule:run

Давайте принесут масонит и выполним вашу задачу!

Давайте поместим правильные параметры и сообщим задачу, когда она должна работать (помните еженедельное электронное письмо).

class WeeklyEmail(Task):
    run_every = '7 days'
    run_at = '17:00'

Вам нужно настроить задания Cron для автоматического выполнения наших задач. Каждая строка Crontab должна начинаться со времени, в которое следует запускать команду, а затем команда: Итак, бежать Команда В 17:00 каждый понедельник вы делаете:

00 17 * * 1 command

Вам нужно добавить && Расписание ремесел: запустить Чтобы запустить запуск запланированной задачи.

Планирование задач масонита Страница документации может предоставить дополнительную информацию. Просто прочитайте это ✊!

Если вы хотите внести свой вклад или заинтересован в разработке Масонит Тогда обязательно присоединитесь к Слаб Канал или звезда репо на GitHub Анкет

Оригинал: “https://dev.to/masonite/sending-automated-emails-with-masonite-framework-13cc”