Nette\Mail\SmtpMailer

Patrik Votoček

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”.

« »