Autor Zpráva
Gnik
Profil *
Nemáte někdo prosím tip na to, čím může být u vygenerovaného a odeslaného emailu do schránky na seznamu (např. neco@seznam.cz) rozhození znakové sady? Generovaný email dělá problém pouze u seznam.cz nebo centrum.cz. Na gmail.com nebo do outlooku chodí email bez chyb.

Vygenerovaný email s chybou na seznamu vypadá asi takto nějak:

Váš inzerát zveřejněný na serveru http://neco.cz, bude aktivní po dobu 20 dnů. Poté bude automaticky vymazán. Datum a čas smazání je 14.5.2012 - 15:12. Před vypršením datumu platnosti inzerátu Vám přijde email pomocí, kterého budete moci prodloužit platnost inzerátu o 14 dní.

Jméno a přijmení: test
E-mh??聩?????х?͕鹅????)Q?????????????9???????)-?ѕ??ɥ???i???????????e?镻?)1?????ф?? ?չ???(((???????????L?????Ʌٕ???????????ѽ?

Děkuji za tip
peta
Profil
Gnik: outlook ma moznost zobrazit zdrojovy kod mailu. Totez jiste i na seznamu. Pravdepodobne je tam nejaky kod, ktery seznam chape jako zmenu kodovani (mozna html kod). Centrum to ma vesmes obslehnute, takze se nedivim. Pripadne muze byt cast mailu v jinem kodovani. coz mi dela pracovni webmail, ze si zmeni kodovani pri odpovidani.

Az budes mit zdrojovy kod, pak dej na nej link. Ja mail na seznamu ani centrum nemam.
abc
Profil
Gnik:
Přesně s tímhle jsem se setkal, když jsem neměl tělo zprávy rozsekané pomocí chunk_split()
Gnik
Profil *
v souboru "sysfce.php" vypadá příprava emailu takto:

// příprava e-mailu
$zprava=Base64_Encode($text);
$header .= "From: ".$odesilatel."\n".
    "MIME-Version: 1.0\n".
    "Content-Type: text/plain; charset=\"".$GLOBALS['rsconfig']['kodovani']."\"\n".
    "Content-Transfer-Encoding: base64";

v souboru"novy.php" vypadá příprava emailu takto:

    // příprava e-mailu
    $zprava = "".HLASKY_EMAIL1." ".HLASKY_EMAIL15." ".$GLOBALS["baseadr"]." ".HLASKY_EMAIL16.".\n\n";
    $zprava .= "".HLASKY_EMAIL17.":\n\n";
    $zprava .= "".INZSYS36.": ".$GLOBALS["inazev"]."\n\n";
    $zprava .= "".INZSYS1.":\n".str_replace ("\n","\r\n",$GLOBALS["ipopis"])."\n\n";
    if (!empty($GLOBALS["icena"])): $zprava .= "".INZSYS3.": ".$GLOBALS["icena"]." ".INZSYS12."\n"; endif;
    $zprava .= "".INZSYS2.": ".$GLOBALS["ijmeno"]."\n";
    if (!empty($GLOBALS["telefon1"]) && !empty($GLOBALS["telefon2"]) && !empty($GLOBALS["telefon3"])): $zprava .= "".INZSYS4.": ".INZSYS78." ".$telefon."\n"; endif;
    if (!empty($GLOBALS["mobil1"]) && !empty($GLOBALS["mobil2"]) && !empty($GLOBALS["mobil3"])): $zprava .= "".INZSYS5.": ".INZSYS78." ".$mobil."\n"; endif;
    $zprava .= "".INZSYS30.": ".$GLOBALS["iemail"]."\n";
    if (!empty($urlupr)): $zprava .= "".INZSYS6.": ".$urlupr."\n"; endif;
    if ($GLOBALS["ityp"]==1):
      $zprava .= "".INZSYS7.": ".INZSYS8." \n";
    else:
      $zprava .= "".INZSYS7.": ".INZSYS9." \n";
    endif;
    $vyberkat=$GLOBALS["query"]("select nazev from ".$GLOBALS["rspredpona"]."inzertnisystem_sekce where ids=".$GLOBALS["ikategorie"]."",$GLOBALS["dbspojeni"]);
    $zprava .= "".INZSYS10.": ".$GLOBALS["result"]($vyberkat,0,"nazev")."\n";
    $vyberlok=$GLOBALS["query"]("select nazev from ".$GLOBALS["rspredpona"]."inzertnisystem_lokality where idl=".$GLOBALS["ilokalita"]."",$GLOBALS["dbspojeni"]);
    $zprava .= "".INZSYS11.": ".$GLOBALS["result"]($vyberlok,0,"nazev")."\n";
    $zprava .= "".HLASKY_EMAIL18.": ".MyDatetimeToDatetime($datumreg)."\n\n";
  if ($GLOBALS["aktivovat"]==1):
    $zprava .= "".HLASKY_EMAIL22.": ".$hesloreg."\n\n";
  else:
    if (!$GLOBALS["prmyctenar"]->ctenarstav==1): 
    $zprava .= "".HLASKY_EMAIL19." ".MyDatetimeToDatetime($datumregdo)." ".HLASKY_EMAIL20." ".$GLOBALS["baseadr"]."".SEO2."/?aemail=".$GLOBALS["iemail"]."&apass=".$hesloreg." ".HLASKY_EMAIL21."!\n\n";
    $zprava .= "".INZSYS63.": ".$hesloreg."\n\n";
    else:
    $zprava .= "".HLASKY_EMAIL22.": ".$hesloreg."\n\n";
    endif;
  endif;
    $zprava .= "".HLASKY_EMAIL23.": ".$GLOBALS["baseadr"]."".SEO4."/ .\n\n";
    $zprava .= "".HLASKY_EMAIL24." ".$GLOBALS["baseadr"].", ".HLASKY_EMAIL25." ".$GLOBALS["pocdnudostaz"]." ".HLASKY_EMAIL26." ".MyDatetimeToDatetime($datumstaz)." . ".HLASKY_EMAIL27." ".$GLOBALS["dnuprodlouzeni"]." ".HLASKY_EMAIL28.".\n\n";
    $zprava .= "           ".HLASKY_EMAIL35."";

    $predmet=$GLOBALS["wwwname"]." - ".HLASKY_EMAIL29."";
  
  if ($GLOBALS["prmyctenar"]->ctenarstav==1): 
    $ipotvrzeni="1";
  else:
    $ipotvrzeni="".$GLOBALS["aktivovat"]."";
  endif;

Jinak pro upřesnění mám všechny soubory nastaveny v UTF-8

To rozhození se projevuje u zmiňovaného seznamu a centrumu vždy počtem znaků od začátku emailu cca ve stejném místě. Ikdyž prohodím pořadí vypisovaných položek v emailu. Nevím, vidíte v tom kódu něco, co by to mohlo způsobovat? Nevím, co by to tam mohlo dělat :( Jak přesně eventuelně použít zmíněný chunk_split() ?


Výsledný email na neco@seznam.cz vypadá takto:

Dobrý den, na server http://neco.cz/ byl přidán Váš inzerát.

Váš inzerát byl úspěšně přijat. Zadali jste tyto údaje:

Název inzerátu: test

Text inzerátu:
test inzerat test text test inzerat test text test inzerat test text test inzerat test text test inzerat test text test inzerat test text test inzerat test text test inzerat test text test inzerat test text test inzerat test text test inzerat test text test inzerat test text .

Jméno a přijmení: test jméno
E-mail: neco@seznam.cz
Typ inzerátu: Nabídka
Kategorie: Mobily, navigace
Lokalita: ČR
Datum a čas podání inzerátu: 25.4.2012 - 09:50

Heslo pro případnou úpravu či prodloužení inzerátu: jrcVANe95V

Smazání inzerátu(?e?????????????????????хٕ???????є??ɽ???Ё?????ɕ͔聡???輽????ɍ???Չ?չх??????嵅酹??????Ʌ?Լ??()[?????????Ё?ٗe???m?��?͕?ٕ?ԁ????輽????ɍ???Չ?չх???輰??Ց????ѥٻ????????Ԁ????????A?????Ց????ѽ??ѥ?????嵅???????մ???5?́͵???????????ԸԸ???Ȁ??????????Ce????????????????յԁ???ѹ??Ѥ????????ԁ[????e????????????????????ѕ??????Ց?є???????ɽ??????Ё???ѹ??Ё???????ԁ???Ё????((???????????L?????Ʌٕ???????????ѽ?


Děkuju moc za případnou radu
Davex
Profil
Rada od abc by měla pomoci.

// příprava e-mailu
$zprava=chunk_split(Base64_Encode($text));
Gnik
Profil *
Chlapi, fantazie!
Velké díky za přispění petovi, abc a DaveX.
abc to vystihl přesně!

po použití chunk_split() jsou emaily na servrech seznam.cz a centrum.cz v pořádku :)

Ještě jednou díky moc všem za předání zkušenosti!

gnik

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: