Autor | Zpráva | ||
---|---|---|---|
Jont Profil |
#1 · Zasláno: 3. 11. 2008, 01:12:44 · Upravil/a: Jont
Ahoj, s tímto si fakt nevím rady. Chci přes php odeslat email a do hlaviček dát od koho je a taky kódování, aby byla dobře čeština.
Hlavičky by tedy měly bít takhle: $hlavicky = "MIME-Version: 1.0 Content-type: text/html; charset=iso-8859-1 From: email@neco.cz"; Když dám ale funkci mail($email, $predmet, $text, $hlavicky) tak to napíše, že "sendmail_from" not set in php.ini or custom "From:" header missing" na tom řádku, kde je ta funkce mail. Když dám From na začátek, tak se vypíše, že SMTP server response: 550 5.1.0 <webnas@centrum.cz MIME-Version: 1.0 Content-type: text/html; charset=iso-8859-1 From: birthday@example.com> malformed address: MIME-Version: 1.0 Content-type: may not follow <webnas@centrum.cz Ani když jsem dal pryč to Content type, Mime nebo charset tak byla pořád ta chyba. Když ale nechám ve hlavičkách jenom From, tak se email normálně odešle. Fakt nevím co s tím, pomůžete prosím? Bez kódování je špatně čeština a navíc by to mělo být odeslána s tím vším. Dík moc. |
||
BetaCam Profil |
#2 · Zasláno: 3. 11. 2008, 03:35:39
Jont
1) každá hlavička musí být na samostatném řádku. 2) charset=iso-8859-1 tak s timhle kódováním teda určitě mail česky mít nebudeš. |
||
Časová prodleva: 4 dny
|
|||
Jont Profil |
#3 · Zasláno: 6. 11. 2008, 19:21:38
Tak jsem to dal na samostatné řádky o funguje to. Ale i s kódováním utf8 byla čeština v předmětu špatně, tak jsem si našel funkci na kódování hlavičky emailu
function encodeMailHeader ($string, $charset = 'windows-1250') { return sprintf ('=?%s?B?%s?=', strtoupper ($charset),base64_encode ($string)); } a když jsem dal $predmet=encodeMailHeader('nějaký dobrý předmět'); tak to funguje. Akorát se mi nějak nedaří udělat to stejné pro odesílatele, tedy dám tam From:". encodeMailHeader('Někdo') ."<honza@centrum.cz> \n"; dostávám chybu SMTP server response: 550 5.1.0 <=?WINDOWS-1250?B?TuxrZG8=?=<honza@centrum.cz> > '@' or '.' expected after '=?WINDOWS-1250?B?TuxrZG8=?= Tohle se děje na lokálu, na webu to funguje (něco špatně v php.ini?). Takže bez toho překódování čeština ve předmětu nefunguje, jo? Můj problém je už snad vyřešený, ale jméno odesílatele by bylo také dobré uvést. Dík za předešlou i budoucí radu :). |
||
Alphard Profil |
#4 · Zasláno: 6. 11. 2008, 19:29:47
|
||
Časová prodleva: 15 let
|
0