Unable to send email: Function set_magic_quotes_runtime() is deprecated
- mesour
- Nette Blogger | 236
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)
- mesour
- Nette Blogger | 236
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
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.