informace o probehnuti odeslani emailu
- romiix.org
- Člen | 343
Napríklad odsedovaním \Nette\Mail\SmtpException. V prípade zlyhania sa vyhodí táto výnimka.
try {
$message = new Nette\Mail\Message;
$message->setFrom("from@mail.sk")
->addTo("to@mail.sk")
->setSubject("Predmet")
->setHTMLBody("<b>Hello world!</b>");
$this->mailer->send($message);
} catch (\Nette\Mail\SmtpException $e) {
$presenter->flashMessage("Odoslanie mailu zlyhalo", "warning");
}
- jiri.pudil
- Nette Blogger | 1032
A v případě, že použiješ výchozí mailer (který posílá zprávy
přes funkci mail()
), odchytávej
Nette\InvalidStateException
.
- vosy
- Člen | 532
ja jen ze mam
try {
$message = new Message;
$message->setFrom("from@mail.sk")
->addTo('vosy@vosy.cz')
->setSubject("Predmet")
->setHTMLBody("<b>Hello world!</b>")
->send();
} catch (\Nette\InvalidStateException $e) {
$presenter->flashMessage("Odoslanie mailu zlyhalo", "warning");
}
kod probehne vporadku ale email neprijde, nemusi byt neco nastavene na localu???
- vosy
- Člen | 532
ne, ve spamu nic neni zmenil jsem an smtp:
try
{
$mailer = new \Nette\Mail\SmtpMailer(array(
'host' => \Glb::$MAIL_HOST,
'username' => \Glb::$MAIL_USER,
'password' => \Glb::$MAIL_PASS,
'secure' => 'ssl',
));
$mail = new Message;
$mail->setFrom(\Glb::$MAIL_FROM )
->addTo(\Glb::$MAIL_TO)
->setSubject('Order Confirmation')
->setBody("Hello, Your order has been accepted.");
$mail->setMailer($mailer);
} catch (\Nette\InvalidStateException $e)
{
$presenter->flashMessage("Odoslanie mailu zlyhalo", "warning");
}
self::$MAIL_FROM = '*****';
self::$MAIL_TO = 'vosy@vosy.cz';
self::$MAIL_HOST = 'smtp.gmail.com';
self::$MAIL_USER = '****';
self::$MAIL_PASS = '****';
zadna chyba nic, script se provede, ale na mail nic neprislo
- romiix.org
- Člen | 343
Ak sa nemýlim Nette\Mail\SmtpMailer
vyhadzuje výnimku
Nette\Mail\SmtpException
a nie
Nette\InvalidStateException
.
Mail prijímateľa 100% exituje? Skús mail poslať viacerým prijímateľom
(na rôznych serveroch) naraz. Tvoj server vosy.cz možno identifikuje mail ako
SPAM (aj keď na to nevidím dôvod ak ide o gmail SMTP). Prípadne odstráň
try-catch
blok, možno máš niečo s flash správičkami.
Viac mi toho nenapadá.
- vosy
- Člen | 532
try
{
$mailer = new \Nette\Mail\SmtpMailer(array(
'host' => \Glb::$MAIL_HOST,
'username' => \Glb::$MAIL_USER,
'password' => \Glb::$MAIL_PASS,
'secure' => 'ssl',
));
$mail = new Message;
$mail->setFrom(\Glb::$MAIL_FROM )
->addTo(\Glb::$MAIL_TO)
->setSubject('Order Confirmation')
->setBody("Hello, Your order has been accepted.");
$mail->setMailer($mailer);
$presenter->flashMessage("OK", "warning");
} catch (\Nette\Mail\SmtpException $e)
{
$presenter->flashMessage("Odoslanie mailu zlyhalo", "warning");
}
zobrazi se FlashMessage „OK“