Avatar billede henriktha Nybegynder
30. marts 2005 - 08:12 Der er 9 kommentarer og
1 løsning

Mailing liste i postnuke virker ikke til homail ?

Jeg bruger pnTresMailer (et plugin til postnuke)

Når jeg sender nyhedsbrev til en hotmail konto kan det ikke læses... altså mailen er blank !

Er der nogen der kan se om dette overholder standarderne ??

Selve mailens opbygning:


    $bdy = "TRES_BOUNDARY";

    $nl_var[headers] = "Errors: $nl_var[nl_email]\r\n";
    $nl_var[headers] .= "Reply-To: $nl_var[nl_email]\r\n";
    $nl_var[headers] .= "Return-Path: $nl_var[nl_email]\r\n";
    $nl_var[headers] .= "From: $nl_var[nl_name]<$nl_var[nl_email]>\r\n";
    $nl_var[headers] .= "MIME-Version: 1.0\r\n";
    $nl_var[headers] .= "Content-Type: multipart/alternative; boundary=\"$bdy\"\r\n";
    $nl_var[headers] .= "Content-Transfer-Encoding: 7bit\r\n";
    $nl_var[headers] .= "Content-Disposition: inline;\r\n";
    $nl_var[headers] .= "Content-Base: $nl_var[nl_url]\r\n";

    $nl_var[message] = "\n--$bdy\n";
    $nl_var[message] .="Content-type: text/plain; charset=iso-8859-1\n\n";
    $nl_var[message] .= $text_message;
    $nl_var[message] .="\n--$bdy\n";
    $nl_var[message] .="Content-type: text/html; charset=iso-8859-1\n\n";
    $nl_var[message] .= $html_message;
    $nl_var[message] .="\n--$bdy--\n";

Og koden der sender mailen:
if($nl_var[nl_system] == 1) {
                $xheaders = $nl_var[headers]."BCC: $mailto\n";
                $xheaders = str_replace("\r","",$xheaders);
                mail("$nl_var[nl_name]<$nl_var[nl_email]>", "$nl_var[nl_subject]", "$nl_var[message]", "$xheaders");
                } else {
                $xheaders = $nl_var[headers]."Subject: $nl_var[nl_subject]\r\n";
                $xheaders .= "To: $nl_var[nl_name]<$nl_var[nl_email]>\r\n";
                $mailto = explode(",", $mailto);
Avatar billede rednex Nybegynder
30. marts 2005 - 09:57 #1
Ifølge RFC skal alle linier (både header og body) termineres med CRLF. Din Errors: header kan jeg ikke finde i RFC, men jeg har dog set den før som Errors-To:
Avatar billede henriktha Nybegynder
30. marts 2005 - 11:03 #2
kan du give et eksempel på hvordan du mener den skal se ud, så kan jeg lige afprøve om det virker ;-)
Avatar billede rednex Nybegynder
30. marts 2005 - 11:17 #3
$bdy = "TRES_BOUNDARY";

    $nl_var[headers] = "Errors-To: $nl_var[nl_email]\r\n";
    $nl_var[headers] .= "Reply-To: $nl_var[nl_email]\r\n";
    $nl_var[headers] .= "Return-Path: $nl_var[nl_email]\r\n";
    $nl_var[headers] .= "From: $nl_var[nl_name]<$nl_var[nl_email]>\r\n";
    $nl_var[headers] .= "MIME-Version: 1.0\r\n";
    $nl_var[headers] .= "Content-Type: multipart/alternative; boundary=\"$bdy\"\r\n";
    $nl_var[headers] .= "Content-Transfer-Encoding: 7bit\r\n";
    $nl_var[headers] .= "Content-Disposition: inline;\r\n";
    $nl_var[headers] .= "Content-Base: $nl_var[nl_url]\r\n";

    $nl_var[message] = "\r\n--$bdy\r\n";
    $nl_var[message] .="Content-type: text/plain; charset=iso-8859-1\r\n\r\n";
    $nl_var[message] .= $text_message;
    $nl_var[message] .="\r\n--$bdy\r\n";
    $nl_var[message] .="Content-type: text/html; charset=iso-8859-1\r\n\r\n";
    $nl_var[message] .= $html_message;
    $nl_var[message] .="\r\n--$bdy--\r\n";

Og koden der sender mailen:
if($nl_var[nl_system] == 1) {
                $xheaders = $nl_var[headers]."BCC: $mailto\r\n";
                mail("$nl_var[nl_name]<$nl_var[nl_email]>", "$nl_var[nl_subject]", "$nl_var[message]", "$xheaders");
                } else {
                $xheaders = $nl_var[headers]."Subject: $nl_var[nl_subject]\r\n";
                $xheaders .= "To: \"$nl_var[nl_name]\" <$nl_var[nl_email]>\r\n";
                $mailto = explode(",", $mailto);
Avatar billede henriktha Nybegynder
30. marts 2005 - 11:30 #4
Det virkede heller ikke, fik følgende mail på hotmail.com:
_________________________________________________________________

MIME-Version: 1.0
Received: from ads.global.surftown.com ([212.97.132.190]) by mc9-f1.hotmail.com with Microsoft SMTPSVC(6.0.3790.211); Wed, 30 Mar 2005 01:27:00 -0800
Received: from mail1.surf-town.net (mail1.surf-town.net [212.97.132.41])by ads.global.surftown.com (Postfix) with SMTP id 7855714EDCBfor <henriktha@hotmail.com>; Wed, 30 Mar 2005 11:26:59 +0200 (CEST)
Received: (qmail 2882 invoked by uid 399); 30 Mar 2005 09:26:59 -0000
Received: from unknown (HELO localhost) (212.97.132.105) by mail1.surf-town.net with SMTP; 30 Mar 2005 09:26:59 -0000
X-Message-Info: JGTYoYF78jENywQiHoToUGJcZNm8kLGr4F2jnlGjIUQ=
Errors-To: henriktha@hotmail.com
X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on mail1.surf-town.net
X-Spam-Level:
X-Spam-Status: No, score=-0.1 required=5.0 tests=ALL_TRUSTED,AWL,HTML_FONT_BIG,HTML_FONT_SIZE_NONE,HTML_FONT_SIZE_TINY,HTML_FONT_TINY,HTML_MESSAGE,HTML_TAG_BALANCE_HEAD,HTML_TAG_EXIST_TBODY,MISSING_DATE,NO_REAL_NAME autolearn=disabled version=3.0.2
Return-Path: henriktha@hotmail.com
X-OriginalArrivalTime: 30 Mar 2005 09:27:00.0567 (UTC) FILETIME=[A0530E70:01C5350A]

Content-Type: multipart/alternative; boundary="TRES_BOUNDARY"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;


Content-Type: text/html; charset=iso-8859-1

_______________________________________________________________________________
Avatar billede henriktha Nybegynder
30. marts 2005 - 11:32 #5
Det skal forresten lige siges at mailen stadig virker fint i Outlook, ofir mail, jubii mail, og et par andre webmail programmer !!
Avatar billede rednex Nybegynder
30. marts 2005 - 11:50 #6
Er der en tom linie efter denne her, eller ser det bare sådan ud på exp.dk
X-OriginalArrivalTime: 30 Mar 2005 09:27:00.0567 (UTC) FILETIME=[A0530E70:01C5350A]

Prøv evt. at ændre
    $nl_var[message] = "\r\n--$bdy\r\n";
    $nl_var[message] .="Content-type: text/plain; charset=iso-8859-1\r\n\r\n";
til
    $nl_var[message] = "--$bdy\r\n";
    $nl_var[message] .="Content-type: text/plain; charset=iso-8859-1\r\n\r\n";

Jeg har prøvet at sende en HTML mail med Calypso, og den gør det lidt anderledes:

Headers:
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary="=====_111216816825520=_"

Body:
--=====_111216816825520=_
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable

Dette er en test


--=====_111216816825520=_
Content-Type: text/html; charset="ISO-8859-1"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1491" name=GENERATOR></HEAD>
<BODY style="FONT-FAMILY: Arial" text=#000000 bgColor=#ffffff>
<DIV><FONT size=2>Dette er en test</FONT></DIV></BODY></HTML>


--=====_111216816825520=_--


Der er altså hverken Content-Transfer-Encoding, Content-Disposition eller Content-Base med i headerne. Jeg ved ikke om det kan være det der gør udslaget.
Avatar billede henriktha Nybegynder
30. marts 2005 - 12:18 #7
Det gav samme resultat.... har også prøvet at fjerne Content-Transfer-Encoding, Content-Disposition eller Content-Base , men det ændrer ingen ting
Avatar billede henriktha Nybegynder
30. marts 2005 - 13:57 #8
Fandt ud af at når jeg fjerner <head></head> fra html koden virker det fint ??

Mon ikke det er en fejl på hotmail.com siden det virker alle andre steder.

Smid et svar.. vil godt give point for det gode forsøg...
Avatar billede rednex Nybegynder
30. marts 2005 - 16:58 #9
Jo, det kunne godt tyde på at det er en hotmail-bug. Men du fandt fejlen, så du må gerne snuppe point :o)
Avatar billede henriktha Nybegynder
30. marts 2005 - 17:28 #10
Jamen så takker jeg mange gange ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester