Nette\Debug – chyba v metodě DefaultMailer

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

Zdravím,

našel jsem chybu, která způsobuje chybné odesílání e-mailu.
V laděnce je tento kód: (řádek 715)

<?php
$host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] :
	(isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : '');
?>

$host se poté promítne v hlavičce From, ale v případě, že aplikace běží na jiném portu než 80, proměnná $_SERVER[‚HTTP_HOST‘] má na konci :číslo_portu a to z nějakého důvodu způsobuje, že i když se e-mail jakoby odešle (fce mail vrátí TRUE), e-mail přesto nepřijde. Aplikace na jiném portu mi běží kvůli více verzím PHP na serveru (přesměrování přes reverzní proxy).

Následující úprava kódu problém řeší.

<?php
$host = isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : '';
?>