Nette Framework: SMTP od Google Apps
Skoro každá aplikace potřebuje odesílat emaily. Určitě se vám už stalo, že emaily nedorazily tak, jak by měly. Emaily odeslané pomocé funkce mail()
v PHP totiž dost často neprojdou agresivnými spamovými filtry.
Pokud nemáte zdroje nastavovat si kvalitně “SMTP server”((to je to, co ty emaily reálně odesílá)), nebo ten co používáte není úplně vyhovující, stojí za zvážení Google Apps. Je možné mít k jedné doméně až 10 schránek zdarma. Nám bude stačit pro začátek jedna.
Nejprve je nutné si vytvořit účet pro doménu, kde máme web a ze které budeme odesílat emaily. Po vyplnění formuláře budete muset potvrdit vlastnictví domény.
Dalším krokem bývá nastavení MX záznamů domény, abychom emaily mohli také přijímat.
(aktuální MX záznamy jdou zkopírovat z průvodce v Google Apps)
Použití v Nette
Následujících pár řadků nám nastaví SMTP mailer
production:
nette:
mailer:
smtp: true
host: smtp.gmail.com
secure: ssl
username: [email protected]
password: ****
a můžeme začít emaily odesílat
/**
* @var Nette\Mail\IMailer
*/
private $mailer;
public function injectMailer(Nette\Mail\IMailer $mailer)
{
$this->mailer = $mailer;
}
public function registrationFormSubmitted($form)
{
// ...
$message = new \Nette\Mail\Message();
$message->setSubject('Registrace')
->setFrom('[email protected]')
->addTo($registrationEmail)
->setHtmlBody($registrationEmailTemplate);
$this->mailer->send($message);
}
Autor: Filip Procházka