Mailers: templates e async
O curso percorre os três mailers de um app Rails e o caminho que seus emails fazem até serem enviados. Cada mailer tem um template HTML e um de texto puro, que o Action Mailer envia como um único email multipart. As aulas tratam da passagem de dados com .with(...), do default_url_options por ambiente e da escolha entre deliver_later e deliver_now. Depois seguem os jobs enfileirados até o Solid Queue, seu banco e seus workers. A parte final mostra o config/recurring.yml e as tarefas agendadas que ele roda em produção.
O que você vai aprender
- ✓Como o Action Mailer envia emails multipart a partir de templates HTML e de texto
- ✓Passar dados a um mailer com .with(...) e lê-los pelo params
- ✓Configurar o default_url_options para um mailer montar URLs absolutas
- ✓Quando usar deliver_later e quando usar deliver_now
- ✓Como o Solid Queue guarda jobs em tabelas de banco e os roda em workers
- ✓Agendar tarefas recorrentes com o config/recurring.yml
Três mailers, cada um com um template HTML e um de texto
app/mailers/auth/password_mailer.rb:
Ler a aula completa grátis →Currículo
7 aulasTrês mailers, cada um com um template HTML e um de texto
Os três mailers do app, a base ApplicationMailer, os layouts e os pares de templates que geram emails multipart.
with(...): como este app passa dados pra um mailer
Como o .with(...) transforma argumentos nomeados num hash params, e por que chamadas por posição falham nessas actions.
default_url_options: montando uma URL sem requisição por trás
Por que um mailer precisa do default_url_options para montar URLs absolutas, com um host diferente por ambiente.
deliver_later vs deliver_now: onde este app usa cada um
Requisições usam deliver_later para não esperar o servidor de email, e o EmailJob usa deliver_now para tratar falhas.
Solid Queue: pra onde vão os jobs do deliver_later
Para onde vão os jobs do deliver_later: tabelas do Solid Queue, banco de fila separado em desenvolvimento e teste, e workers.
recurring.yml: as tarefas agendadas do Solid Queue, rodando em produção
As três tarefas de produção do config/recurring.yml, as formas class e command, e os dois estilos de horário.
Juntando tudo: de uma chamada .with(...) a um worker rodando
Um caminho da chamada .with(...) até um worker do Solid Queue, ligando as aulas anteriores, com um pequeno desafio em Ruby.