phpmail テストは Windows では正常に動作しますが、Ubuntu にアップロードすると動作しません。なぜ
関数
postmail($receiver,$receiver_name,$subject_name,$smassage){
require_once("lib/class.phpmailer.php");
//include("lib/class.smtp.php");
$mail=new PHPMailer();
$mail->CharSet ="UTF-8";//電子メールのエンコーディングを設定します。デフォルトは ISO-8859-1 です。中国語を送信する場合は、これを設定する必要があります。そうしないとコードが文字化けします
$mail->IsSMTP(); // クラスに SMTP を使用するように指示します
$mail->SMTPDebug = 1; // SMTP デバッグ情報を有効にします (テスト用)
$mail->SMTPAuth = true; // SMTP 認証
$mail->Host = "smtpcom.263xmail.com" // SMTP サーバー
;
$mail->Port = 25; // SMTP ポート
$mail->Username = "xx@xx.com" // SMTP アカウント名
;
$mail->Password = "xxx" // SMTP アカウントのパスワード
;
$mail->SetFrom('xx@xx.com', 'web');
$mail->Subject = "$subject_name";
$smassage=str_replace('',' ',$smassage);
$smassage=nl2br($smassage);
$mail->MsgHTML("$smassage");
$mail->AddAddress("$receiver","t");
//エコー "テスト: " ;
if(!$mail->Send()) {
echo "メーラー エラー: " . $mail->ErrorInfo;
終了;
} else {
echo "メッセージを送信しました!";
}
true を返します;
}
?>
-----解決策---------
Linux では Sendmail または postfix のサポートが必要です
/var/log/maillog ログをチェックして、特定のエラー情報を確認できます。