27. januar 2006 - 15:39Der er
4 kommentarer og 3 løsninger
mail bliver markeret som spam
Hejsa
Når jeg sender mails ud fra mit nyhedsbrev script(færdiglavet), hvor der er æøå med bliver beskeden vist som *******SPAM********[emne] i mailprogrammet. æøå bliver vist fint nok i beskeden.
Hvis der ikke er æøå med i mailen så er der ingen problemer.
Fandt det her i kilden på mailen: X-Spam-Flag: YES X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on localhost X-Spam-Report: * 1.0 MY_TEST_PLUGIN MY_TEST_PLUGIN * 3.4 SUBJ_ILLEGAL_CHARS Subject: has too many raw illegal characters X-Spam-Status: Yes, score=4.4 required=4.0 tests=MY_TEST_PLUGIN, SUBJ_ILLEGAL_CHARS autolearn=disabled version=3.1.0 X-Spam-Level: **** X-Virus-Scan: Scanned by clamdmail 0.15 (no viruses);
function encode_7bit($Message) { // Build (most polpular) Extended ASCII Char/Hex MAP (characters >127 & <255) for ($i=0; $i<127; $i++) { $CharList[$i] = "/".chr($i+128)."/"; $HexList[$i] = "=".strtoupper(bin2hex(chr($i+128))); } // for
// Encode equal sign & 8-bit characters as equal signs followed by their hexadecimal values $Message = str_replace("=", "=3D", $Message); $Message = preg_replace($CharList, $HexList, $Message);
// Lines longer than 76 characters (size limit for quoted-printable Content-Transfer-Encoding) // will be cut after character 75 and an equals sign is appended to these lines. $MessageLines = split("\n", $Message); $Message_enc = ""; while(list(, $Line) = each($MessageLines)) { if (strlen($Line) > 75) { $Pointer = 0; while ($Pointer <= strlen($Line)) { $Offset = 0; if (preg_match("/^=(3D|([8-9A-F]{1}[0-9A-F]{1}))$/", substr($Line, ($Pointer+73), 3))) $Offset=-2; if (preg_match("/^=(3D|([8-9A-F]{1}[0-9A-F]{1}))$/", substr($Line, ($Pointer+74), 3))) $Offset=-1; $Message_enc.= substr($Line, $Pointer, (75+$Offset))."=\n"; if ((strlen($Line) - ($Pointer+75)) <= 75) { $Message_enc.= substr($Line, ($Pointer+75+$Offset))."\n"; break 1; } // if $Pointer+= 75+$Offset; } // while } else { //Make sure no single dot is in the middel of the message if($Line==".") $Message_enc.=".."; else $Message_enc.= "$Line\n"; } // else } // while return $Message_enc; } // function
Det virker jo perfekt. Takker og bukker. Havde jo aldrig fundet ud af det på egen hånd :)
Synes godt om
Ny brugerNybegynder
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.