Autor Zpráva
chudst
Profil
Poprosím o pomoc s odesíláním emailu. Chci ho odeslat jako text/plain i jako text/html. Když ho odešlu na mail volny.cz, vše funguje v pořádku. Když ho ale odešlu na seznam.cz, dojde mi ve formátu typu:

<p>Some text will go here.</p><p><img src="http://www.mydomain.com/img/offers.jpg" /></p><p>Can't see the images? <a href="http://www.mydomain.com/print_offer.php?promo=">Click here</a></p>

=> Text není zobrazen v HTML, i když je zobrazena zpráva psaná pro HTML. (Pokud text odesílám pouze jako text/html a nikoli spolu s text/plain, tak se na seznamu zobrazuje normálně, ale zas na volny.cz to ukazuje hlášku od volny.cz "Tento mail je zobrazitelný pouze v HTML" - chtěl bych tam dostat svoji hlášku a zajímá mě, jak na to, aby se to na seznamu zobrazilo korektně, tj. nejen text pro HTML, ale přímo text formátovaný v HTML.)

Kód mám následující:

<?php
      $site_name = "nazev.stranek.cz";
      $site_email = "muj@mail.cz";
      $subject = $nadpis;
      $subject = imap_8bit($subject);
      $subject = "=?UTF-8?Q?".$subject."?=";
      $boundary = uniqid('np');
      
$hlavicka_emailu="FROM: $site_name <$site_email> \nRETURN-PATH: $site_name <$site_email>".
                             "MIME-Version: 1.0\n".
                             "Content-Type: multipart/alternative;boundary=" . $boundary . "\r\n";                       

$message .= "\r\n\r\n--" . $boundary . "\r\n";
$message .= "Content-Type: text/plain; charset=\"utf-8\"\r\n\r\n";             

//INFO
$message = "This is a MIME encoded message.";
$message .= "\r\n\r\n--" . $boundary . "\r\n";

//OBSAH BEZ HTML
$message .= "Content-Type: text/plain; charset=\"utf-8\"\r\n\r\n";
$message .= "Ahoj,\nTento mail je zasláný skrze text/plain.";
$message .= "\r\n\r\n--" . $boundary . "\r\n";

//OBSAH S HTML
$message .= "Content-Type: text/html; charset=\"utf-8\"\r\n\r\n";
$message .= "<p>Zdravíčko $uzivatel_osloveni!</p>            
            <p>$zprava</p>            
            <p>Tolik z novinek, měj se famfárově :)</p>
            <p>Zpráva byla odeslána z <a href='moje_stranky_cela_url'>Název stránek</a>";            
$message .= "\r\n\r\n--" . $boundary . "--";

mail($uzivatel_email, $subject, $message, $hlavicka_emailu); 
?>
chudst
Profil
A zjistil jsem ještě jeden problém: "zpráva odeslaná ze stránek NÁZEV STRÁNEK" (řádek 30) se jako odkaz zobrazí v pořádku a je funkční. Ale odkazy, které jdou přes proměnnou zpráva (řádek 28), se zobrazí například jako odkazy, ale vedou na ně URL typu: http://mail1.volny.cz/%22mailto:cizi@email.cz/%22 , místo odkazu na cizi@email.cz .
Davex
Profil
V hlavičce chybí jedno odřádkování a kombinují se různé typy konce řádku. Zkus to upravit na

$hlavicka_emailu="FROM: $site_name <$site_email>" . PHP_EOL
    . "RETURN-PATH: $site_name <$site_email>" . PHP_EOL
    . "MIME-Version: 1.0" . PHP_EOL
    . "Content-Type: multipart/alternative;boundary=" . $boundary . PHP_EOL;
nkljdc
Profil *
Zkus použít Mail_Mime
Ofi
Profil
Měl jsem stejný problém a podařilo se mi vygooglit toto vlákno (bylo docela na vrchu) proto odpovídám, aby to pomohlo dalším co se musí mořit se seznamáckým emailem :/
Pomohlo řešení od uživatele Davex. Sjednotil jsem všechna odřádkování na PHP_EOL a hned vše funguje jak má.

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:

0