Nette\Mail\SmtpMailer
Aktualizováno SMTP Mailer přímou součástí Nette
Byl to porod, ale povedlo se. S pomocí této třídy umí nette posílat e-maily i přes zabezpečené (SSL, TLS, Authenikace) SMTP servery. Nebudu tu tajit, že jsem vycházel ze SMTP modulu v PHPMailer-u . Však ho používá spousta PHP programátorů na světě.
Použití
Mějme klasicky:
$mail = new Mail();
$mail->setFrom("from@example.com");
$mail->setSubject("Test");
$mail->setBody("Testovaci text!");
$mail->addTo("test@example.com");
$mail->send();
Stačí když před $mail->send();
přidáme:
$mailer = new SmtpMailer();
$mail->setMailer($mailer);
Nebo když třeba v bootstrapu nastavíme:
Mail::$defaultMailer = "Nette\Mail\SmtpMailer";
Konfigurace je jednoduchá. Provádí se v config.ini a všechny položky jsou nepovinné:
[common.mailer]
host = "smtp.gmail.com"
port = 465
username = "nette@gmail.com"
password = "heslo"
timeout = 30
transport = "ssl"
Pokud nevyplníme host a port a máme v PHP povolenou funkci ini_get
. Použije se standartní nastavení definované v php.ini.
timeout
nastavuje timeout pro komunikaci se serverem. secured
zase nastavuje zabezpečení a může být nastaven na “ssl” nebo “tls”.