Nette\Mail\Message neodesílá e-mail

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
zimmi
Člen | 94
+
0
-

Zdravím,
běžím na Apache + PHP 5.3.10 + Nette 2.0.6 na Mintu, k posílání mailů mám nainstalovaný Postfix.

try {
	$mail = new Message;
	$mail->addTo($email)
		->setSubject('Potvrzení registrace')
		->setBody('ahoj')
		->send();
} catch (Exception $e) {
	print "neodesláno";
	print $e->getMessage();
}
if (mail($email, "Zpráva", "Zpráva")) {
	echo "Odesláno.";
} else {
	echo "Neodesláno";
}

K odeslání mailu používám Message, která e-mail neodešle, ale ani nevyhodí exception. Normální mail() to zvládne bez problémů a e-mail je odeslán. Nemohl by mě někdo nasměrovat, kde by mohl být zakopaný pes?

PS: Celé to běží na localhostu.

Editoval zimmi (27. 11. 2012 12:54)

kitanaf
Člen | 6
+
0
-

Mám úplne rovnaký problém, podarilo sa ti to nejako vyriešiť?

castamir
Člen | 629
+
0
-

a máte na lokálu poštovní server?

zimmi
Člen | 94
+
0
-

@castamir: nemám :-/ Nějaký tip pro Linux?

castamir
Člen | 629
+
0
-

google… např zde je zajímavá diskuze

jetpack
Člen | 71
+
0
-

Já bych řekl, že „Postfix“ je snad SMTP server na „lokálu“ ne?
Koukni do logů co ti to hlásí. Koukni zda-li máš povolené porty pro odesílání, jestli něco neblokuje komunikaci, zkus použít funkci mail() někde čistě v php souboru co ti to udělá.

castamir
Člen | 629
+
0
-

jenže on to neodesílá přes smtp mailer…

jetpack
Člen | 71
+
0
-

A jak to jako posílá?
Mail\Message má $defaultMailer : Mail\SendmailMailer a to je defaultní mail() funkce.
Co se týká Exception tak to vyhazuje jedině: Nette\Mail\SmtpException

Takže ať zkontroluje LOG na serveru zda-li mu to tam píše nějaké blbosti. Protože pokud funguje mail() tak musí fungovat Mail\Message .

Jo a zkus tam přidat:
->setFrom(‚Franta <franta@example.com>‘)

Editoval jetpack (8. 1. 2013 12:40)

MartinitCZ
Člen | 580
+
0
-

V konzoli si pust (debian):
sudo apt-get install postfix postfix-tls libsasl2-2 sasl2-bin libsasl2-modules popa3d

A máš po starostech. Na jednoduché odesílání to stačí.

jetpack
Člen | 71
+
0
-

@martinit : No právě on psal:
„běžím na Apache + PHP 5.3.10 + Nette 2.0.6 na Mintu, k posílání mailů mám nainstalovaný Postfix.“

což jsem si myslel, že postfix má nainstalovaný.

MartinitCZ
Člen | 580
+
0
-

@**jetpack**: Řekl bych, že mu nějaká knihovna chybí. Osobně jsem spustil jen tento příkaz a odesílání funguje.

Editoval martinit (8. 1. 2013 17:15)

jetpack
Člen | 71
+
0
-

Tak aspoň, že problém vyřešen, ať už to bylo cokoliv. :-)

zimmi
Člen | 94
+
0
-

Bohužel problém pořád trvá, ale už není asi na mojí straně. Mám k Postfixu nainstalovaný msmtp, ale co jsem to testoval, tak jediná adresa, kam e-mail protlačím, je na GMailu, například na Centrum se e-mail neodešle, ačkoliv výsledek funkce pro odeslání je true.

Neřešil jste to někdy někdo?