Nastevení a použití SMTP pro odesílání e-mailu
- iwory
- Člen | 147
Zdravím, vyzkoušel jsem už různé kombinace které jsem našel na fŕu,
ale za boha nemohu rozchodit SMTP mail.
Když jsem docílil, toho, že mi to nehodí chybu ve spojení, tak odeslaný
e-mail nepřijde.
Neexistuje již nejaká cená rada?
Neon:
parameters:
smtp:
smtp: true
host: server
username: user
password: pass
secure: ssl
port: 465
services:
nette.mailer: Nette\Mail\SmtpMailer(%smtp%)
V aplikaci mámpak již
$mail = new Message;
$mail->setFrom($this->sender[0], $this->sender[1]);
...
$mailer = \Nette\Environment::getService('nette.mailer');
try
{
$mail->setMailer($mailer);
//$mailer->send($mail);
return TRUE;
}
catch(\Nette\Mail\SmtpException $e)
{
return FALSE;
}
Aplikace nespadne, ale e-mail žádný nepřijde. Když použiji
$mailer->send($mail);
Tak sice e-mail přijde, ale z loalhostu :-/
Už si moc nevím rady, pokud by měl někdo myšlenku, budu rád. Díky
- PavelJurasek
- Člen | 39
Sekci smtp:
přesuň z parameters:
do sekce
nette:
a smaž definici maileru v services
Viz https://forum.nette.org/…-config-neon,
první post
Edit: Nepoužívej Nette\Environment, vyžádej si SmtpMailer v kontruktoru, nebo použij inject metodu, nebo @inject anotaci.
Editoval PavelJurasek (20. 11. 2013 21:39)
- iwory
- Člen | 147
PavelJurasek napsal(a):
Sekci
smtp:
přesuň zparameters:
do sekcenette:
a smaž definici maileru vservices
Viz https://forum.nette.org/…-config-neon, první postEdit: Nepoužívej Nette\Environment, vyžádej si SmtpMailer v kontruktoru, nebo použij inject metodu, nebo @inject anotaci.
Ano, to byla moje první cesta, chyba sice neastane ale e-mail nepřijde :-/
nette:
mailer:
smtp: true
host: server
username: user
password: pas
secure: ssl
port: 465
- romiix.org
- Člen | 343
Hľadal by som problém v nastavení SPAM-u. Neprijme sa mail náhodou rovno do koša?
- iwory
- Člen | 147
romiix.org napsal(a):
Hľadal by som problém v nastavení SPAM-u. Neprijme sa mail náhodou rovno do koša?
Už jsem taky koukal a nic tam není.
Když ho pošlu skrze
$mail->setMailer($mailer);
tak se odešle a nepřijde
Když skrze
$mailer->send($mail);
Tak skončí chybou:
exception 'Nette\Mail\SmtpException' in /var/www/virtual/web.cz/htdocs/libs/Nette/Mail/SmtpMailer.php:113
Stack trace:
#0 /var/www/virtual/web.cz/htdocs/libs/Nette/Mail/SmtpMailer.php(73): Nette\Mail\SmtpMailer->connect()
...
#7 {main}
- romiix.org
- Člen | 343
Maily by si mal odosielať v try catch
bloku, inak sa ti
v prípade výpadku SMTP servera budú vyhadzovať výnimky.
try {
// ...
$mailer->send($mail);
} catch(Nette\Mail\SmtpException) {
$this->flashMessage("Odoslanie e-mailu zlyhalo.", "warning");
}
Ak si dostal SmtpException
, vyzerá to tak, že si použil
nesprávne prihlasovacie údaje k serveru.