Unable to send email: Function set_magic_quotes_runtime() is deprecated

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mesour
Nette Blogger | 236
+
+1
-

V kódu mám normální odeslání emailu. Na develu bylo vše v pořádku, ale jakmile jsem to dal na produkci, tak to začalo psát Unable to send email: Function set_magic_quotes_runtime() is deprecated.

<?php
$mailer = new \Nette\Mail\SendmailMailer();

$msg = new \Nette\Mail\Message();
$msg->setFrom($this->getSetting('support_email'), $this->getSetting('support_name'))
	->addTo($values->email)
	->setSubject($this->getTranslator()->translate('Registration success'))
	->setBody($template);

$mailer->send($msg); // tady to hodilo vyjímku
?>

Divné bylo už jen to, že to na produkci hlásí server error: 500, když v php.ini jsou deprecated vypnuté, stejně tak předpokládám, že Nette\Diagnostics na produkci vypne deprecated, notice a warningy.

Za další jsem zjistil, že se funkce set_magic_quotes_runtime v Nette vůbec nepoužívá a nevolá žádným způsobem.

Chyba tedy vyskakovala na řádce, kde se na SendmailMailer volá metoda send.

Nakonec jsem přišel na to, že na produkčním serveru byl špatně nastavený Sendmail nebo chyběl nějaký modul.

Píši to sem proto, když někomu tahle chyba nastane, tak není třeba hledat chybu v aplikaci nebo v Nette, ale v nastavení sendmailu.

Jen pro info, používám Nette 2.1.1, ale koukal jsem, že v 2.2.1 zrovna SendmailMailer zůstal netknutý.

Editoval mesour (17. 6. 2014 17:06)

wicked
Člen | 290
+
0
-

Pokud ti jede web na develu, z 85% to je chybou serveru

flipis
Člen | 12
+
0
-

@mesour Mozem sa spytat, ako sa to nakoniec vyriesilo? Nedavno sme prehadzovali servery a tiez mi to zacalo hadzat tuto vynimku. Neviem, co si mam predstavit pod „byl špatně nastavený Sendmail“. Diky

mesour
Nette Blogger | 236
+
0
-

flipis napsal(a):

@mesour Mozem sa spytat, ako sa to nakoniec vyriesilo? Nedavno sme prehadzovali servery a tiez mi to zacalo hadzat tuto vynimku. Neviem, co si mam predstavit pod „byl špatně nastavený Sendmail“. Diky

Ahoj no prostě špatně nakonfigurovaný sendmail. Zkus kouknout do konfigurace. Nevím, čím to přesně bylo, předal jsem ten požadavek člověku, který se nám stará o servery a on to vyřešil. Teď si nejsem jistý zda tam vůbec sendmail byl a zda ho nemusel nainstalovat.

Editoval mesour (16. 1. 2015 14:43)

David Grudl
Nette Core | 8228
+
0
-

Poznámka k tomu set_magic_quotes_runtime():

Detekovat správně chybu v PHP je takřka nadlidský úkol a Nette do umí (snaž už) správně od verzí 2.0.16, 2.1.5 a 2.2.3, proto ta zpráva o set_magic_quotes_runtime.