Autor Zpráva
kachnak
Profil
Zdravim. mam problem z posielanim mailov cez funkciu mail.
na jednom mailovom servery sa zobrazi mail pekne ale na druhom zle. pouzivam uplne jednoduchu funkciu na posielanie.

na azet.sk mi to pride pekne:
Vaša žiadosť o registráciu na http://tuning.vsali.sk bola akceptovaná.
Pre dokončenie registrácie pokračujte na tomto odkaze:
http://tuning.grappa.sk/index.php?obsah=registrovat&dokoncit=1&mail=kachnak@azet.sk&accept=LG5TDT7TQR
------------------------------------
S pozdravom Tuning V Šali team.
kontakt: tuning@vsali.sk
web: http://tuning.vsali.sk

ale na post.sk zle:
aS5zaw==?=
From: tuning@vsali.sk <tuning@vsali.sk>
Content-Type: text/plain;
charset = "utf-8"
Message-Id: <20090714184336.278EB60E10B8@max.websupport.sk>
Date: 14 Jul 2009 20:43:36 +0200 (CEST)
Vaša žiadosť o registráciu na http://tuning.vsali.sk bola akceptovaná.
Pre dokončenie registrácie pokračujte na tomto odkaze:
http://tuning.grappa.sk/index.php?obsah=registrovat&dokoncit=1&mail=bmxer@post.sk&accept=JL7JYDM7I8
------------------------------------
S pozdravom Tuning V Ĺ ali team.
kontakt: tuning@vsali.sk
web: http://tuning.vsali.sk

nevie niekto v com moze byt problem? si myslim ze asi niekde vo fukncii mail sa nejak domylila hlavicka alebo take daco. Predmet spravy pride pekne, zly je iba text. tu je kod funkcie co to posiela:

$odosielatel_meno="tuning@vsali.sk";
$odosielatel_mail="tuning@vsali.sk";
$prijmatel_mail="$mail";
$mail_text="Vaša žiadosť o registráciu na http://tuning.vsali.sk bola akceptovaná.
Pre dokončenie registrácie pokračujte na tomto odkaze:
http://tuning.grappa.sk/index.php?obsah=registrovat&dokoncit=1&mail=$mail&accept=$rand
------------------------------------
S pozdravom Tuning V Šali team.
kontakt: tuning@vsali.sk
web: http://tuning.vsali.sk
";
$mail_predmet="Akceptovaná žiadosť o registráciu na Tuning V Šali.sk";
$mail_predmet = "=?utf-8?B?".base64_encode($mail_predmet)."?=";
$headers .= "From: ". $odosielatel_meno . " <" . $odosielatel_mail . ">\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\n";
mail("$prijmatel_mail","$mail_predmet","$mail_text","$headers");

Dakujem pekne za hocijaky postreh.
Aesir
Profil
kachnak:

První co mě bouchlo do očí je, že tu:
$headers .= "From: ". $odosielatel_meno . " <" . $odosielatel_mail . ">\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\n"; 


máte pokaždé jiný odělovač řádku. Zkuste to sjednotit, nejspíš na
\r\n
kachnak
Profil
vdaka skusim to zmenit. som nasiel niekde na nete tu funkciu tak som moc nestudoval ako to vyzera len som bol rad ze to fungovalo. len zuajimave je ze tu funkciu mail v takomto tvare pouzivam aj inde na tej stranke a odtial mi to pride pekne na oba maily. som rozmyslal ci su tam neni zle uvodzovky alebo tak
kachnak
Profil
Prosim vas uz som si nasiel chybu pribliznu...
chyba je presne v tomto riadku ak ho zmazem tak uz to ide dobre. (aj ked predmet uz ma zlu diakritiku)

$mail_predmet = "=?utf-8?B?".base64_encode($mail_predmet)."?=";

neviete ju niekto opravit? asi su tam nejake zle uvodzovky alebo co?

Dakujem
kachnak
Profil
uz som na nieco prisiel... ak predmet v hlavicke dam MAX 30 znakov tak setko funguje ok.. ak dam predmet vacsi ako 30 znakov tak mi to vtedy robilo ten problem. je to nejak obmedzene vo funkcii mail ze predmet moze mat len 30 znakov?
nightfish
Profil
je to nejak obmedzene vo funkcii mail ze predmet moze mat len 30 znakov?
myslím, že ne
každopádně base64 kóduje trojice znaků v osmibitovém kódování na čtveřice znaků z 6-bitové abecedy... tím je dán nárůst délky zprávy o 33% - problémem může být, že v určitý okamžik délka zprávy přesáhne nějakou mez, e-mailový server řádek delší, než je tato mez zalomí, a klient na post.sk se s tím nevyrovná...

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: