HTML kódok a hírlevél szövegében

realdream képe

A következőket használom:
Drupal 6.4 v. 6.5 Simplenews 6.x-1.x-dev és simplenews.305650.patch a következőről: " Restore Mime Mail support in D6 / post #26" valamint Mime Mail Version: 6.x-1.x-dev

A HTML-típusú hírlevelek kiküldésénél jól működnek a formázások képek stb..., kivéve, ha hotmail-es címre küldök levelet.

A Windows Live Hotmail a levél szöveges formátumát mutatja, és méghozzá annak forrását!, tehát benne vannak a html elemek.

Hotmail nézet:

a levél címe
<p>első sor<br />
második sor<br />
harmadik sor...<br />
</p>

A levél forrásának egy része:

This is a multi-part message in MIME format.
 
--567883ee7f496c165ba65f819b3a3d11
Content-Type: multipart/alternative;
    boundary="6316f4f4c825dc0ee1e16f6032539291"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
 
 
--6316f4f4c825dc0ee1e16f6032539291
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
 
test 3.
<p>text<br />
text<br />
text<br />
</p>

Tehát a Drupal+Mime Mail+Simplenews egy multi part levelet küld.
A hotmail pedig a levél szöveges részét jeleníti meg, ami pedig hibás, mivel benne vannak a html kódok.
A cím az jó jelenik meg, de a body már nem.

Nem találtam igazán megoldást... Elvileg az is jó lenne, ha csak html-ben menne a levél, akkor nem lenne a hotmail-nak választásra lehetősége, azt kellene neki megjeleníteni.
A szöveges megjelenítés is megfelelne (csak a hotmail-es címeknél), de az akkor jó működjön.

Ha kikapcsolom a Mime Mail modult akkor a szöveges üzenet jól működik.

Próbáltam több levelező kliensben és webmail rendszerben is, mindenütt jól jelenik meg a html levél kivéve a Hotmail-ben.

Van valakinek ötlete?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
pp képe

http://drupal.org/node/319562

A legjobb helyen tetted fel a kérdést. ;) ez ugyanis egy dev állapotú modul ;)

pp

0
0
pp képe

lehet a simplenews-ban van a hiba, szerintem oda is dobj be egy issue-t (ha még nem tetted meg.)

pp

0
0
realdream képe

Megvan a megoldás!

A html kódos hibát eddig a mimemail modul javításával oldottam meg, amig nem volt jól működő kiadott frissítés.

A problémát a ma elérhető legfrissebb Mimemail és Simplenews modulokban már megoldották, és azok helyesen működnek.

A Homailben történő html levél megjelenítést pedig, úgy lehet megoldani, hogy a modulokat módosítjuk a következőképp:

Levélküldés folyamán ellenőrizzük, hogy a címzett hotmail v. livemail-os postafiók-e és ha igen, akkor arra a postafiókra csak html levelet küldünk.

Ha valakinek van rá szüksége beírom ide a php kódokat.

0
0

-------------------------------
http://www.realdream.hu

sgabe képe

Azért van ez a fórum, hogy ha másnak is felmerül ugyanez a probléma, akkor itt megtalálja a megoldást.

0
0
Kinke képe

Egy amatőrtől bármilyen kérdés felmerülhet, így lehetséges az alábbi kérdés is:
ha egy űrlap segítségével regisztráltatok egy jelentkezőt, és küldök is neki választ, hoy lehet megoldani, hogy az űrlap beállításainál megadok egy php scriptet, ami lefut a regisztrációt követően és az küld egy e-mailt a jelentkezett látogató e-mail címére.
Ez a html kód WEB-es környezetben, gmail cím esetén szépen megjelenik, de Outlook/Entourage esetében egy vegyes levelet ad: az első felében szüvegesen zanzásítva jelenik meg a levél - multipart, első rész - majd utána a html alapú rész.
Hogy lehet elérni, hogy ez a drága csak egy legyen, de az azonban html.
A kódrészlet, ami a küldendő e-mail header-je, a következő:

// Build the default headers
$headers = array(
'MIME-Version' => '1.0',
'Content-type' => 'text/html; charset=UTF-8;',
'Content-Transfer-Encoding' => '8Bit',
'X-Mailer' => 'Drupal'
);
//

Vajon itt van-e a hiba?

0
0
realdream képe

Íme a kódok:

Mimemail.module - function mimemail_prepare módosítása:

-$mail      = mimemail_html_body(theme('mimemail_message', $body, $mailkey), $subject, $plaintext, $text, $attachments);
//a $hotmail paraméterben átadjuk a mimemail_html_body-nak, hogy a címzett hotmailes-e:
+  $pos_windowslive_1 = strpos(mimemail_address($recipient), "@windowslive");
+  $pos_homail_1 = strpos(mimemail_address($recipient), "@hotmail");
+  if (($pos_windowslive_1==true) or ($pos_homail_1==true)) {
+  	 $hotmail = true;
+	 unset($headers['Content-Transfer-Encoding']);
+       } else {
+	 $hotmail = false; }
+$mail = mimemail_html_body(theme('mimemail_message', $body, $mailkey), $subject, +$plaintext, $text, $attachments,$hotmail);  

Mimemail.inc - function mimemail_html_body bővítése a $hotmail paraméterrel
-function mimemail_html_body($body, $subject, $plaintext = FALSE, $text = NULL, $attachments = array())
//Új kód:
+function mimemail_html_body($body, $subject, $plaintext = FALSE, $text = NULL, +$attachments = array(), $hotmail = false) 

Mimemail.inc - A hotmail-es címekre csak html tartalmat küldünk:
- $content = array($text_part, array_shift($mime_parts)); 
//új bővített kód:
+	if($hotmail) {
+ 		$content = array(array_shift($mime_parts)); 
+  	} else {
+  		$content = array($text_part, array_shift($mime_parts));
+	}
0
0

-------------------------------
http://www.realdream.hu