Autor | Zpráva | ||
---|---|---|---|
Pavel Straka Profil |
#1 · Zasláno: 8. 7. 2012, 21:25:55
Dobrý večer, rád bych poprosil o radu se skriptem na posílání příloh mailu, funguje mi v pořádku, až na jednu věc - české kódování.
Odkaz na skript je zde: http://interval.cz/clanky/jak-v-php-poslat-e-mail-s-prilohou-pomoci-mime-tridy/ Pokoušel jsem se klasicky přidat do hlaviček e-mailu kódování: $mail->headers = "MIME-Version: 1.0\r\n"; $mail->headers .= "Content-Type: text/plain; charset=\"iso-8859-2\"\r\n"; ale to celou funkci rozhodí, nepřijde mi v mailu příloha, ale jen e-mail plný paznaků. Neměl by někdo, prosím, nápad, jak skript zprovoznit s českými znaky? Děkuji za pomoc. |
||
Alphard Profil |
Pavel Straka:
Váš zápis mezi \n sekvence zanáší \r\n , navíc za druhou vaši hlavičkou následně vznikne \r\n\n . Nevím, jestli je to příčina problému, taky by mohlo docházet ke kolizi s jinou hlavičkou, ale vzhledem k tomu, že třída je psaná pro PHP 4, podíval bych se po něčem novějším. Osobně bych použil třídu z Nette, tím ji ale nevnucuji :-)
|
||
Pavel Straka Profil |
#3 · Zasláno: 9. 7. 2012, 09:03:25
Teď jsem to vyřešil. Problém byl v tom, že ta třída měla to kódování řešené až v body a ne v headers a to jsem včera nějak přehlédl.
Takže jsem toto: function build_multipart() { $boundary = "b".md5(uniqid(time())); $multipart = "Content-Type: multipart/mixed; boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary"; for($i = sizeof($this->parts)-1; $i >= 0; $i--) { $multipart .= "\n".$this->build_message($this->parts[$i]). "--$boundary"; } jen upravil na toto: function build_multipart() { $boundary = "b".md5(uniqid(time())); $multipart = "Content-Type: multipart/mixed; charset=\"windows-1250\" boundary = $boundary\n\nThis is a MIME encoded message.\n\n--$boundary"; for($i = sizeof($this->parts)-1; $i >= 0; $i--) { $multipart .= "\n".$this->build_message($this->parts[$i]). "--$boundary"; } Děkuju za pomoc. |
||
Časová prodleva: 12 let
|
0