Chyba pri odosielani emailu cez SMTP
- Danndy
- Člen | 35
Zdravím Vás.
Mám problem s odosielanim emailov cez SMTP na servery. Skúšal som azda už všetky možnosti a rady ktoré som na fóre našiel ale bez úspešne. Môj kód vyzera nasledovne(verzia nette 2.2.0):
config.neon:
nette:
mailer:
smtp: true # zapne SmtpMailer místo SendmailMailer
host: smtp.websupport.sk
username: system@domena.sk
port: 465
password: heslo
secure: ssl
V presenteri :
/**
* @inject
* @var \Nette\Mail\IMailer
*/
public $mailer;
.
.
.
$mail = new Nette\Mail\Message;
$mail->setFrom('Internetová objednávka <system@domena.sk>')
->addTo($emailTo)
->setSubject('Objednávka');
.
.
$this->mailer->send($mail);
Skúšal som aj variantu z návodov:
$mailer = new Nette\Mail\SmtpMailer(array(
'host' => 'smtp.websupport.sk',
'username' => 'system@domena.sk',
'password' => 'heslo',
'secure' => 'ssl',
));
$mailer->send($mail);
Vždy mi to padne na $mailer->send($mail); a hláška z logu je:
Nette\Mail\SmtpException
SMTP server did not accept
Skúšal som aj port 25. Taktiež udaje na tu schránku som kontroloval niekoľko krát. Vyskúšal som ten SMTP na desktop klientovi a fungoval bez problémov. Už neviem čo by som skúsil. Vedel by mi niekto poradiť?
Vopred Ďakujem.
Editoval Danndy (9. 9. 2015 13:47)
- nandrolon
- Člen | 7
A neskusal si aj SendMailer?
u websupportu som tiez a takto mi to funguje.
Dany email ale musi existovat, cize najskor som si v ich webadmine vytvoril
mailovu schranku noreply@domena.sk, a
postupoval som presne podla dokumentacie a funguje to.
- Danndy
- Člen | 35
Ahoj.
SendMailer som skúšal, ale v tom prípade mi to síce nepadalo ale email mi neprišiel, ked som ho skúšal poslať na adresu inu ako od websupportu. Pravdepodobne kôli ochrane na strane servera. Preto potrebujem posielat maily cez SMTP lebo ich chcem posielať na rôzne maily na roznych hostingoch, nie len na jeden mail hostovaný na websupporte (ako napr u kontaktného formuláru). Mail použitý pre SMTP je existujúci, a aj odskúšany.
- nandrolon
- Člen | 7
to ti viem este teraz dat, takto jednoducho som to skratil na pochopitelne
minimum.
ako zaciatocnik som postupoval len podla dokumentacie
$template = new \Nette\Templating\FileTemplate('app/templates/email/email.latte');
$template->registerFilter(new \Nette\Latte\Engine);
$template->registerHelperLoader('\Nette\Templating\Helpers::loader');
$mail = new Message;
$mail->setFrom('noreply@domena.sk')
->addTo($userData['email'])
->setHtmlBody($template);
$mailer = new SendmailMailer;
$mailer->send($mail);
- nandrolon
- Člen | 7
tak som to skusil aj cez SMTP
do config.neon som dal copy&paste od teba ( ale moje udaje )
a mail mi prisiel, skusil som dat aj zle heslo a bolo z toho
Nette\Mail\SmtpException
SMTP server did not accept password
a do presentera som dal takto.
$mail = new Nette\Mail\Message;
$mail->setFrom('noreply@domena.sk')
->addTo('___@gmail.com')
->setSubject('Objednávka');
$this->mailer->send($mail);
aj setFrom som skusal dat v tvare Internetová objednávka <noreply@domena.sk>
aj tak mi to doslo.
podla mna skus napisat na podporu vo websupporte nech to preveria.