CRON – odesílání emailu – problém s „FROM“

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

Ahoj,
Snažím se CRONem přes Kdyby\Console odeslat mail pomocí Nette\Mail\SendmailMailer. Mám však problém s nastavením odesilatele – zjistil jsem, že je problém s diakritikou ve jméně odesilatele:

<?php
$message->setFrom('premek.koch@gmail.com', 'Přemek Koch');
?>

Pokud diakritiku odstraním, přijde email s výše uvedeným nastavením. S diakritikou to dopadne tak, že je celá sekce FROM v hlavičce mailu – zřejmě díky špatnému kodování – odstraněna a je doplněna defaultní hodnotou odesilatele z nastavení hostingu (root@savana.cz).

Pokud takto odesílám maily z aplikace, vše funguje i s tou diakritikou, tento problém je opravdu jen při spouštění CRONem, a to takto:

<?php
	$_SERVER['argv'][1] = 'feedback:test';
	require 'index.php';
?>

Napadlo mne, že není nastaveno kodování při tomto způsobu spouštění, zkoušel jsem tedy laborovat s

<?php
	mb_internal_encoding('UTF-8');
?>

avšak bezúspěšně. Nedopadly ani tyto rady.

Neví někdo, jak z toho ven?

Dík, Přemek

Editoval premek_k (27. 10. 2015 11:03)

David Matějka
Moderator | 6445
+
0
-

A mas ten soubor v utf8? jestli pouzivas phpstorm, tak pred nejakou dobou zmenili defaultni encoding na stejny jako v systemu, coz je na win cp1250..

premek_k
Člen | 172
+
0
-

David Matějka napsal(a):

A mas ten soubor v utf8? jestli pouzivas phpstorm, tak pred nejakou dobou zmenili defaultni encoding na stejny jako v systemu, coz je na win cp1250..

Nemám, mám ISO8859–1 (MAC OS). Který soubor musí být v UTF-8? Ten pomocný spouštěcí, ten s tím Console commandem, nebo oba?

EDIT: nebo lépe – jak to správně vyřešit, abych nemusel myslet na to, že „zrovna tento soubor musím mít v jiném kodování“?

Editoval premek_k (27. 10. 2015 11:13)

jiri.pudil
Nette Blogger | 1032
+
+4
-

jak to správně vyřešit, abych nemusel myslet na to, že „zrovna tento soubor musím mít v jiném kodování“?

ukládat všechny v UTF-8 :)

premek_k
Člen | 172
+
0
-

Jistě, hloupě jsem se zeptal, omlouvám se. Znamená to tedy, že pokud budu mít vše v UTF8, pak nemusím nic řešit a SendmailMailer si to ošetří sám? Předpokládám, že ano…

EDIT: Kontroloval jsem nastaveni v PHPStormu a mám nastaven default na UTF8. Zmátlo mne, když jsem dal File->File encoding v menu PHPStormu, tak vyskočí tabulka s 3 volbami, kde první (označená) volba je právě ISO-8859–1, což jsem předpokládal, že je nastaveno, ale není tomu tak, jak vidím mimo PHPStorm. Takže nastavením kodování souboru to nebude, vše je v UTF8.

Editoval premek_k (27. 10. 2015 12:24)