Mailer

Mailer é um framework responsável pelos serviços de entrega e recebimento de e-mails.

Mailjet

Mailjet é mailer global que ajuda a enviar e a rastrear a entrega de e-mails através de sua API, além de ser útil para serviços de autenticação e para gerenciar subcontas e contatos.

Uso

No Rails, é possível acessar as funcionalidades desse mailer através da gem mailjet, mas para tal, será necessário ter um conta em seu site para obter a chave para a API. Em seguida, será preciso adicionar a chave a um inicializador na seguinte forma:

Rode o comando $ rails generate mailjet:initializer para gerar o arquivo, o comando deve solicitar sua chave da API, sua chave secreta e o e-mail ligado à sua conta da mailjet.

Por fim, para utilizar o Mailjet, é necessário adicionar o seguinte trecho ao arquivo em que está sendo utilizado:

require 'mailjet'
Mailjet.configure do |config|
  config.api_key = ENV['MJ_APIKEY_PUBLIC']
  config.secret_key = ENV['MJ_APIKEY_PRIVATE']  
  config.api_version = "v3.1"
end

Exemplos

Criando um novo contato:

variable = Mailjet::Contact.create(email: "Mister@mailjet.com")
p variable.attributes['Data']

Para acessar todos os objetos: recipients = Mailjet::Listrecipient.all(limit: 0)

Acessando objeto específico:

variable = Mailjet::Contact.find($CONTACT_EMAIL)
p variable.attributes['Data']

Atualizando propriedades de um objeto: variable.update_attributes(html_part: "Hello <strong>world</strong>!",text_part: "Hello world!")

Enviando emails com ActionMailer

No arquivo application.rb adicione a linha config.action_mailer.delivery_method = :mailjet

Para enviar e-mails através da API é preciso criar um novo recurso MessageDelivery: Mailjet::MessageDelivery.create(from: "meu@exemplo.com", to: "seu@exemplo.com", subject: "Funcionamento do Mailjet", text: "Sua mensagem aqui.")

Também é possível enviar para múltiplos destinatários de uma vez passando um array de e-mails ao invés de apenas um. (to: ["email1@exemplo.com", "email2@exemplo.com"])

Para mais informações acesse o Repositório do Mailjet.

Last updated