SMTP mail z localhostu vrací *Connection refused*, na serveru funguje
- Petr Mašát
- Člen | 101
Hezký den,
používám Nette Verze 2.0 Alpha 2 se jmennými prostory
, a
snažím se poslat pomocí \Nette\Mail\Mail
třídy email s tím
že na localhostu nemám nainstalovaný sendmail
a tak jsem chtěl
využít SMTP.
Odesílání dělám za pomocí:
$mail = new \Nette\Mail\Mail;
$mail->setFrom('petr.masat.cz@gmail.com');
$mail->addTo($email);
$mail->setBody('Pokusny text');
$mailer = new \Nette\Mail\SmtpMailer();
$mail->setMailer($mailer);
$mail->send();
a v config.ini
mám toto nastavení:
[common.mailer]
host = "smtp.gmail.com"
port = 465
username = "petr.masat.cz@gmail.com"
password = "****"
timeout = 30
transport = "ssl"
a zatímco na serveru (vas-hosting.cz) mě vše funguje bez problémů tak na
localhost mi to stále vrací chybu
Nette\Mail\SmtpException #111
Connection refused
na řádku s $mail->send();
Říkal jsem si zda není problém na cestě k gmailu, tak jsem zkusil dát
jako SMTP upc, přes něhož jsem připojen k internetu,
config.ini
pak vypadal:
[common.mailer]
host = "smtp.upcmail.cz"
timeout = 30
ale ani to nepomohlo. Nevím tedy jestli se musí vyplnit nějaké údaje k username a password, když upc umožňuje anonymní přístup.
Máte prosím někdo nějaký nápad jak to řešit?
Díky moc.
- Petr Mašát
- Člen | 101
Díky moc, upravil jsem odesílání na:
$conf = Nette\Environment::getConfig('mailer');
$mail = new \Nette\Mail\Mail;
$mail->setFrom('info@aikidohostivar.cz');
$mail->addTo($email);
$mail->setHtmlBody($template); // nebo $mail->setBody($template) pro textovou šablonu
$mailer = new \Nette\Mail\SmtpMailer(
array(
'host' => $conf->host,
'port' => $conf->port,
'username' => $conf->username,
'password' => $conf->password,
'timeout' => $conf->timeout,
'transport' => $conf->transport,
)
);
$mail->setMailer($mailer);
$mail->send();
a vše již funguje.
Ještě jednou děkuji.
- neznalek
- Člen | 60
Jen bych chtel rict ze muzes pole pouzit primo z configu, ale musel jsem to pretipovat:
<?php
$mail = new \Nette\Mail\Mail;
$mail->setFrom(...);
$mail->addTo(...);
$mail->setHtmlBody(...); // nebo $mail->setBody($template) pro textovou šablonu
$mailer = new \Nette\Mail\SmtpMailer((array) \Nette\Environment::getConfig('mailer'));
$mail->setMailer($mailer);
$mail->send();
?>
Neda se nastavit smtp server, nejak globalne trebas v bootstap?