Zadejte hledaný výraz...

PHP – Na gmailu se email zobrazí správně, na Seznam.cz ne(HTML + odeslaný soubor)

Tadeas Jilek
verified
rating uzivatele
(26 hodnocení)
5. 10. 2013 20:12:41
Zdravím, programoval jsem jeden script v php, šlo o posílání emailu s přílohou(souborem), na gmail příloha přijde v pořádku stejně tak jako zpráva, která je kodovaná v HTML, ale na Seznamu se hlavička objeví ve zprávě a zpráva sama o sobě není ani HTML, poslaný soubor není dekodovaný, také chyba hlaviček.
Zde přikládám ukázku emailu na Seznamu :
Content-Type: text/html; charset=UTF-8
Content-Transer-Encoding: 7bit
Varianta rozesílky : 100.000 email - 9.500 Kč
Kontaktní os
oba :
sdfsdf
Email/telefon : tadeas.jilek@email.cz
D
atum rozesílky :
sdfsdf
Vlastní newsletter : ano
Varianta rozesílky : 100.000 email - 9.500 Kč
Kontaktní osoba : sdfsdf
Email/telefon : tadeas.jilek@email.cz
Datum rozesílky : sdfsdf
Vlastní newsletter : ano
A zde přikládám můj script :
$email_from = $email; // Who the email is from
$email_subject = "Zpráva z webu"; // The Subject of the email
$message2 = "Varianta rozesílky : $varianta
";
$message2 .= "Kontaktní osoba : $kontakt
";
$message2 .= "Email/telefon : $email
";
$message2 .= "Datum rozesílky : $datum
";
$message2 .= "Vlastní newsletter : $newsletter";
$email_to = "tadeas.jilek@email.cz"; // Who the email is to
$boundary = md5(rand());
$headers = array(
"MIME-Version: 1.0",
"Content-Type: multipart/mixed; boundary="{$boundary}"",
"From: {$email_from}",
);
$message = array(
"--{$boundary}",
"Content-Type: text/html",
"Content-Transer-Encoding: 7bit",
chunk_split($message2),
"Varianta rozesílky : $varianta
",
"Kontaktní osoba : $kontakt
",
"Email/telefon : $email
",
"Datum rozesílky : $datum
",
"Vlastní newsletter : $newsletter",
"--{$boundary}",
"Content-Type: {$_FILES}; name="{$_FILES}"",
"Content-Disposition: attachment; filename="{$_FILES}"",
"Content-Transfer-Encoding: base64",
chunk_split(base64_encode(file_get_contents("docasnesoubory/" . $_FILES))),
"--{$boundary}--",
);
$ok = @mail($email_to, $email_subject, implode("rn", $message), implode("rn", $headers));
if($ok){
echo "";
}else{
echo "";
}
Všem děkuji za případnou pomoc a ochotu, s pozdravem Tadeáš Jílek.
5. 10. 2013 20:12:41
https://webtrh.cz/diskuse/php-na-gmailu-se-email-zobrazi-spravne-na-seznam-cz-nehtml-odeslany-soubor#reply952865
Vít Michalek
verified
rating uzivatele
(14 hodnocení)
5. 10. 2013 20:20:05
Nevymýšlejte kolo.
https://github.com/Synchro/PHPMailer
Tohle Vám bude fungovat všude.
5. 10. 2013 20:20:05
https://webtrh.cz/diskuse/php-na-gmailu-se-email-zobrazi-spravne-na-seznam-cz-nehtml-odeslany-soubor#reply952864
Tadeas Jilek
verified
rating uzivatele
(26 hodnocení)
5. 10. 2013 20:26:55
Kdybych se prosil o zaslání třídy nebo nějaké obdobné věci, určitě dám vědět, ale nyní žádám o opravu, které bude alespon částečně vycházet z mého scriptu.
Děkuji
5. 10. 2013 20:26:55
https://webtrh.cz/diskuse/php-na-gmailu-se-email-zobrazi-spravne-na-seznam-cz-nehtml-odeslany-soubor#reply952863
Vít Michalek
verified
rating uzivatele
(14 hodnocení)
5. 10. 2013 20:28:28
Já vycházím z tvého skriptu, ten bychzahodil a použil tu třídu :) vážně, ulehčí ti to práci a připadné další problémy.
5. 10. 2013 20:28:28
https://webtrh.cz/diskuse/php-na-gmailu-se-email-zobrazi-spravne-na-seznam-cz-nehtml-odeslany-soubor#reply952862
Jan Stejskal
verified
rating uzivatele
(7 hodnocení)
5. 10. 2013 21:43:16
Napsal Tadeáš Jílek;1006500
Zdravím, programoval jsem jeden script v php, šlo o posílání emailu s přílohou(souborem), na gmail příloha přijde v pořádku stejně tak jako zpráva, která je kodovaná v HTML, ale na Seznamu se hlavička objeví ve zprávě a zpráva sama o sobě není ani HTML, poslaný soubor není dekodovaný, také chyba hlaviček.
Všem děkuji za případnou pomoc a ochotu, s pozdravem Tadeáš Jílek.
Bez znalosti RFC to půjde těžko. Snažíte se odeslat multipart email, ale přitom tam máte jen html verzi. Kde je textová verze? Navíc typ multipart se neuvádí v hlavičce, ale v těle emailu.
Takže možná řešení:
  • nastudujete si RFC a podle toho napíšete funkci
  • najdete někoho, kdo to nastudoval před vámi, napsal takovou funkci nebo třídu a poskytuje ji k dalšímu použití
  • necháte to někoho udělat za vás
  • najde se někdo "hodný", kdo vám sem hodí funkční řešení
5. 10. 2013 21:43:16
https://webtrh.cz/diskuse/php-na-gmailu-se-email-zobrazi-spravne-na-seznam-cz-nehtml-odeslany-soubor#reply952861
carlos
verified
rating uzivatele
(19 hodnocení)
6. 10. 2013 00:00:42
Postni spíš source kód vygenerovaného emailu... v tomhle aby se čert vyznal...
Každopádně je imho zbytečné dávat tam carriage return (tohle není windows), imho je lepší nechat tam jen newline...
6. 10. 2013 00:00:42
https://webtrh.cz/diskuse/php-na-gmailu-se-email-zobrazi-spravne-na-seznam-cz-nehtml-odeslany-soubor#reply952860
Tadeas Jilek
verified
rating uzivatele
(26 hodnocení)
6. 10. 2013 19:25:08
Použil jsem php mailer, ale i zde se naskytl problém, jedná se o to, že hosting nepovoluje funkci escapeshellarg(), tudíž třída nefunguje správně.
K náhledu : http://tadeasjilek.cz/phpmailer/
6. 10. 2013 19:25:08
https://webtrh.cz/diskuse/php-na-gmailu-se-email-zobrazi-spravne-na-seznam-cz-nehtml-odeslany-soubor#reply952859
Pro odpověď se přihlašte.
Přihlásit