テスト目的で、WindowsにApache w/phpをインストールしています。また、本番CentOS6.4サーバーにPHP付きのApacheがあります。
PHPMailerを使用して、Windowsサーバーで完全に電子メールを送信できます。ただし、centosサーバーで送信できません。
これは私のコードです:
require_once('phpmailer/class.phpmailer.php');
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->Host = 'mail.example.com';
$mail->Port = 25;
$mail->Username = "mail-daemon@example.com";
$mail->Password = "secret";
$mail->SMTPSecure = 'tls';
$mail->SetFrom('mail-daemon@example.com', "$name");
$mail->Subject = "$subj";
$mail->Body = $body;
$mail->AddAddress("Support@example.com");
if(!$mail->Send()) {
$error = 'Mail error: '.$mail->ErrorInfo;
echo "We're sorry, however, an error has occurred. You may manually e-mail us at support@example.com.";
return false;
} else {
echo "Thanks! Your message was successfully sent.";
return true;
}
?>
繰り返しますが、それは私のWindowsApachheで完全に機能します。ただし、CentOSでは次のエラーが発生します。
SMTP -> ERROR: Failed to connect to server: Connection timed out (110) <br />The following From address failed: mail-daemon@example.com : Called Mail() without being connected
ファイアウォールをテストしましたが、それが問題だとは思いません。(テストのために)完全にオフにしましたが、それでもエラーが発生していました。
phpにopensslをインストールして有効にしました。
何か案は?