Avatar billede bhn.314 Nybegynder
02. juni 2004 - 11:28 Der er 7 kommentarer og
1 løsning

Mails via mail() er ulæselig

Når jeg sender mails ud via mail()-funktionen er der nogle mail-servere/klienter der gør mailen ulæselig (eksempelvis Ofir). Har i oplevet det før og hvad i himlens navn kan der være galt. Jeg mener jeg overholder MIME formatet (se koden):


>===== Original Message From mail@mail.dk =====
>ýW§µéb²×Ÿ¢Yþ{½çjzµvË^þ™ZvÇ«þþŠÚž
Iǧþz¢¶â×¥±Šzz¹Þþøý۲֝Š
þ)íz·¬±êÞjj
z©ì
þ¢¶§zŠ’G«…çl¥êì¢v¥þ«þ«þWŠ
¦V±êJJâž×§þ‰êçžÖ¤µëþ}©]þø¥þ7 þ
«j÷zzWŸ¢zY^ýÛŠ
IþêÞýêŠ{^ ë,z· Š|®‹$ŠW^ý÷¬¶+ÚüW¬¶+Ú–Èb–ÉÞ¬Ib¶Ç!j:¶§qéÞ


KODE

    $from or die("sender address missing");
    $to or die("recipient address missing");
    $boundary="Message-Boundary-19990614";

        $mp = popen("/usr/sbin/sendmail -f $from $to", "w");

    $patterns[0] = "/ø/";
    $patterns[1] = "/å/";
    $patterns[2] = "/æ/";
    $patterns[3] = "/ /";
    $patterns[4] = "/Ø/";
    $patterns[5] = "/Å/";
    $patterns[6] = "/Æ/";

    $replacements[6] = "=F8";
    $replacements[5] = "=E5";
    $replacements[4] = "=E6";
    $replacements[3] = "_";
    $replacements[2] = "=D8";
    $replacements[1] = "=C5";
    $replacements[0] = "=C6";


    $subject = preg_replace($patterns, $replacements, $subject);

        fputs($mp, "MIME-Version: 1.0\n");
        fputs($mp, "Content-Type: Multipart/Mixed; boundary=\"$boundary\"\n");
        fputs($mp, "Content-Transfer-Encoding:Base64\n");
        fputs($mp, "From: $from\n");
        fputs($mp, "To: $to\n");
        fputs($mp, "Subject: =?ISO-8859-1?Q?".$subject."?= \n");
    fputs($mp, "--$boundary\n");
    fputs($mp, "Content-Type: text/plain; charset=\"ISO-8859-1\"\n");
//    fputs($mp, "\n");
    fputs($mp, $message1."\n");

    if(sizeOf($filename)>0)
    {
        //$AttmFiles=array("/var/www/xml/documents/".$filename);
        $AttmFiles=$filename;

        if($AttmFiles){
            foreach($AttmFiles as $AttmFile){
                $AttmFile = ereg_replace(' ', '_', $AttmFile);
                $patharray = explode ("/", $AttmFile);
                  $FileName=$patharray[count($patharray)-1];
       
                $fd2=fopen ($AttmFile, "r");
                $FileContent=fread($fd2,filesize($AttmFile));
                fclose ($fd2);
                $FileContent=chunk_split(base64_encode($FileContent));
                fputs($mp, "--$boundary\n");
                    fputs($mp, "Content-Type: application/octet-stream; name=\"$FileName\"\n");
                    fputs($mp, "Content-Transfer-Encoding: base64\n");
                    fputs($mp, "Content-Disposition: attachment; filename=\"$FileName\"\n");
                    //fputs($mp, "\n");
                    fputs($mp, "$FileContent\n");
                    //fputs($mp, "\n"); 
            }
        }
        $message.="\n--".$boundary."--\n";
    }

        fputs($mp, "--$boundary" . "--\n");
        pclose($mp);
Avatar billede dennismp Nybegynder
02. juni 2004 - 12:29 #1
Prøv at fjerne den øverste
fputs($mp, "Content-Transfer-Encoding:Base64\n");

og se om det hjælper.. (mener udmiddelbart den ikke bør være der, da du ikke encoder text/plain med base64)
Avatar billede bhn.314 Nybegynder
02. juni 2004 - 13:37 #2
Nope, det hjalp ikke...... Stadig det samme.
Avatar billede dennismp Nybegynder
02. juni 2004 - 13:44 #3
Hvor kommer $message1 fra?
Avatar billede bhn.314 Nybegynder
02. juni 2004 - 14:44 #4
Noget tekst fra et <textarea> (submitted)
Avatar billede dennismp Nybegynder
02. juni 2004 - 14:52 #5
Det er selve plaintext-delen der ser underlig ud?

Det der undre mig mig, er at den øverste linje ser ud til at komme fint igennem..

Den test du har foretaget (som provokerede fejlen) - var der også en fil med der? Hvad vis du prøver uden at attache en fil? Samme resultat?
Avatar billede bhn.314 Nybegynder
03. juni 2004 - 13:45 #6
Ja, det er lige meget om filen er med eller ej. Det er stadig ulæselig.
Avatar billede dennismp Nybegynder
03. juni 2004 - 14:21 #7
">===== Original Message From mail@mail.dk ====="

er det en del af mailen? eller er det kommet et andet sted fra?
Avatar billede bhn.314 Nybegynder
04. august 2004 - 13:10 #8
Lukker
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