Skip to content
This repository has been archived by the owner on Oct 8, 2024. It is now read-only.
/ GearMailer Public archive

Plugin to send assynchronous mails using Gearman and any other transports, like AWS SES

License

Notifications You must be signed in to change notification settings

radig/GearMailer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Radig GearMailer

Plugin que permite o envio de emails utilizando Gearman e Amazon SES.

Requisitos

Instalação

Utilizando Composer

  • Verifique se já tem a extensão do Gearman instalada e carregado no PHP
  • Na raiz do projeto, execute:
    composer install radig/gear-mailer

Sem usar Composer

  • Verifique se já tem a extensão do Gearman instalada e carregado no PHP
  • Clone, faça o download ou coloque como submódulo este repositório em Plugins
  • Instale o aws-sdk em app/Vendor/AWS

Configuração

Crie uma configuração de email com a seguinte configuração:

public $default = [
    'transport' => 'GearMailer.Gear'
];

Em seu bootstrap.php, incluia as credenciais para envio de email através da API da AWS SES, da seguinte maneira:

Configure::write('GearMailer.credentials', [
    'key'    => 'sua chave AWS',
    'secret' => 'sua chave secreta AWS'
    'region' => ''
]);

Para ativar o Gearman Worker, que é quem efetivamente enviará o email, existem duas opções:

(1) Utilizando Systemd para gerenciar o processo (background)

Edite o arquivo Vendor/gearmailer.service alterando a linha 6 para um valor válido em sua instalação, saindo:

ExecStart=/usr/bin/php ABSOLUTE_PATH_TO_gearman_email_worker.php

E deixando algo como:

ExecStart=/usr/bin/php /srv/www/app/Plugin/GearMailer/Vendor/gearman_email_worker.php

Copie o arquivo resultante e configure no diretório de serviços de sua distribuição. No caso do OpenSUSE, cole o arquivo (como root)
no diretório: /usr/lib/systemd/system/gearmailer.service

Habilite o serviço:

systemctl enable gearmailer.service

Inicie o serviço:

systemctl start gearmailer.service

(2) Executando o Console do CakePHP

Console/cake GearMailer.EmailWorker

E deixe o console em execução.

Envio de Email

Basta fazer um envio de email normal utilizando o CakeEmail

    $email = new CakeEmail()
        ->from($from)
        ->to($to)
        ->subject($subject)
        ->send();

Autor e Copyright

  • Copyright 2013-2014 Radig – Soluções em TI
  • Licença MIT – Isto quer dizer que o código está disponível sem nenhuma garantia, ao mesmo tempo que você pode usa-lo de forma isolada ou em conjunto com seu próprio código, desde que mantenha os créditos, execeto onde tiver explícito o contrário. Veja os detalhes no arquivo em anexo.

About

Plugin to send assynchronous mails using Gearman and any other transports, like AWS SES

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages