Kodování emailu, utf-8; mail – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kodování emailu, utf-8; mail – PHP – Fórum – Programujte.comKodování emailu, utf-8; mail – PHP – Fórum – Programujte.com

 

Bryant
~ Moderátor
0
Stálý člen
30. 12. 2009   #1
-
0
-

Zdravim, mam problém jako spousta jiných s diakritikou ve funkci mail(), potřebuju správnou diakritiku pro UTF-8 a nepotřebuju odpověď tipu změň si diakritiku na windows-1250 apod.! Předem moc děkuju.

Nahlásit jako SPAM
IP: 94.138.99.–
„Bez činu zůstává i nejkrásnější myšlenka bezcennou.“
— Móhandás Karamčand Gándhí
KIIV
~ Moderátor
+43
God of flame
30. 12. 2009   #2
-
0
-

posli spravny hlavicky

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Bryant
~ Moderátor
0
Stálý člen
30. 12. 2009   #3
-
0
-

To mi bohužel moc nepomhlo :smile11:, de o to že pokud použiju funkci mail() tak jak je v php již přednastavená tak e-mail zaslaný přes tuto funkci, která je na stránce která běží na UTF-8, tak nebude fungovat diakritika(české znaky).

Nahlásit jako SPAM
IP: 94.138.99.–
„Bez činu zůstává i nejkrásnější myšlenka bezcennou.“
— Móhandás Karamčand Gándhí
z_moravec
~ Redaktor
+3
Posthunter
30. 12. 2009   #4
-
0
-
Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Míša
~ Anonymní uživatel
106 příspěvků
30. 12. 2009   #5
-
0
-

Tohle jsem nedávno splácal podle článku na builderu a řekl bych že to funguje docela slušně. :)

Posílá to textový / HTML emaily (parametr $HTML) i s přílohama ($Attach, s tím že se očekává pole polí s již načteným souborem, mime typem a názvem souboru). Víc asi není potřeba vykládat. :)




function UTF8Mail( $To, $Subject, $Message, $From, $FromName, $HTML = false, $Attach = null )
{
/*
$Attach = array
(
array( 'name' => 'file name', 'content' => 'file content', 'mime_type' => 'mime/type' )
...
);
*/
$Boundary = strtoupper( md5( uniqid( 'bound_' ) ) );
$Header = "From: $From\n";
$Header .= "MIME-version: 1.0\n";
$Header .= "Return-Path: <$From>\n";
$Header .= "Reply-To: $From\n";
$Header .= "Content-Type: multipart/mixed; boundary=\"$Boundary\"\n\n";
$Header .= "--" . $Boundary . "\n";
$Header .= "Content-Type: text/" . ( ( $HTML ) ? ( 'html' ) : ( 'plain' ) ) . "; charset=\"UTF-8\"\n";
$Header .= "Content-Transfer-Encoding: base64\n\n";
$Header .= base64_encode( $Message ) . "\n\n";
if ( is_array( $Attach ) )
{
reset( $Attach );
for ( $i = 0; $i < count( $Attach ); ++ $i )
{
if ( $Attach[ key( $Attach ) ][ 'content' ] && $Attach[ key( $Attach ) ][ 'name' ] )
{
$Header .= "--" . $Boundary . "\n";
$Header .= "Content-Type: " . ( ( $Attach[ key( $Attach ) ][ 'mime_type' ] ) ? ( $Attach[ key( $Attach ) ][ 'mime_type' ] ) : ( 'application/octet-stream' ) ) . ";\n";
$Header .= "Content-Transfer-Encoding: base64\n";
$Header .= "Content-Disposition: attachment; filename=\"" . $Attach[ key( $Attach ) ][ 'name' ] . "\"\n\n";
$Header .= chunk_split( base64_encode( $Attach[ key( $Attach ) ][ 'content' ] ) ) . "\n\n";
}
else
{
return false;
}
next( $Attach );
}
}
$Header .= "--" . $Boundary . "--";
return mail( $To, '=?UTF-8?B?' . base64_encode( $Subject ) . '?=', "", $Header );
}

Nahlásit jako SPAM
IP: 88.102.27.–
Bryant
~ Moderátor
0
Stálý člen
30. 12. 2009   #6
-
0
-

díky, vyřešeno :smile4:

Nahlásit jako SPAM
IP: 94.138.99.–
„Bez činu zůstává i nejkrásnější myšlenka bezcennou.“
— Móhandás Karamčand Gándhí
z_moravec
~ Redaktor
+3
Posthunter
31. 12. 2009   #7
-
0
-

A prozradíš jak? Třeba se to bude někomu hodit.

Nahlásit jako SPAM
IP: 83.240.110.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
Bryant
~ Moderátor
0
Stálý člen
31. 12. 2009   #8
-
0
-

jistě, omlouvam se...

function autoUTF($s){

if (preg_match('#[\x80-\x{1FF}\x{2000}-\x{3FFF}]#u', $s))
return $s;
if (preg_match('#[\x7F-\x9F\xBC]#', $s))
return iconv('WINDOWS-1250', 'UTF-8', $s);
return iconv('ISO-8859-2', 'UTF-8', $s);
}
function cs_mail ($prijemce, $predmet, $zprava, $head = ""){
$predmet = "=?utf-8?B?".base64_encode(autoUTF ($predmet))."?=";
$head .= "From:email@server.com\n";
$head .= "MIME-Version: 1.0\n";
$head .= "Content-Type: text/plain; charset=\"utf-8\"\n";
$head .= "Content-Transfer-Encoding: base64\n";
$zprava = base64_encode (autoUTF ($zprava));
return mail ($prijemce, $predmet, $zprava, $head);
}


...originál na http://diskuse.jakpsatweb.cz/?action=vthread&forum=9&topic=2111&page=-1#3

Nahlásit jako SPAM
IP: 94.138.99.–
„Bez činu zůstává i nejkrásnější myšlenka bezcennou.“
— Móhandás Karamčand Gándhí
Michal
~ Anonymní uživatel
683 příspěvků
23. 2. 2015   #9
-
0
-
Nahlásit jako SPAM
IP: 78.80.114.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 9 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý