如果同一個 server 有多個 domain, 登入時是使用 user@domain 方式的話, 在重送信件的部份也會有點問題.
修改 sendmail.php 中第 42 行開始的部份
原本是: fputs($smtp, "MAIL FROM:<$username@$mydomain>\n");
// server response
while (1) {
$msg = fgets($smtp, 256);
if (substr($msg, 0, 3) != "250") {
fclose($smtp);
return 0;
}
if (substr($msg, 3, 1) != "-") break;
// multi-line response
}
fputs($smtp, "RCPT TO:<$username@$mydomain>\n");
// server response
while (1) {
改為: if (strstr($username, '@'))
$myemail = $username;
else
$myemail = $username.'@'.$mydomain;
fputs($smtp, "MAIL FROM:<$myemail>\n");
// server response
while (1) {
$msg = fgets($smtp, 256);
if (substr($msg, 0, 3) != "250") {
fclose($smtp);
return 0;
}
if (substr($msg, 3, 1) != "-") break;
// multi-line response
}
fputs($smtp, "RCPT TO:<$myemail>\n");
// server response
while (1) {
另外, 登入 myspam 時, 記得也使用 user@domain 當做帳號, 不要只用 user 當帳號, 這樣才看的到內容.