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
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'] : '';
?>