這個與 MySPAM 的版本應該沒什麼關係... 因為之前的版本這部份也是一樣的.
也許檢查原始信件的第一行, 如果不是正常的 header, 而是 from xxxx 之類的東西, 就把這行忽略掉吧.
我跟湯姆貓大大有同樣的問題,
信件重送後, 會多出 "> "
>From payment@msts.com.tw Tue Jul 17 10:37:26 2007
依twu2前輩的說法, 修改 sendmail.php 過濾第一行是 from xxxx 後, 已正常.
只是小弟不會PHP語法, 經過了4~5小時努力之後才改好,
但是不知道這樣的改法是否會有問題, 有沒有更好的寫法, 請大家指導, 謝謝!!
修改 sendmail.php 第81行
原程式碼
foreach ($lines as $line) {
if ($line == '') {
$header = 0;
}
if ($header) {
// avoid loop erro for postfix
if (strncasecmp('Delivered-To:', $line, 13) == 0) continue;
}
if ($line == '.')
fputs($smtp, "..\n");
else
fputs($smtp, $line."\n");
}
改成
foreach ($lines as $key=>$line) {
if ($key == 0) {
$pos = strpos($line, "From ");
if ($pos >= 0) {
continue;
}
}
if ($line == '') {
$header = 0;
}
if ($header) {
// avoid loop erro for postfix
if (strncasecmp('Delivered-To:', $line, 13) == 0) continue;
}
if ($line == '.')
fputs($smtp, "..\n");
else
fputs($smtp, $line."\n");
}