私は何時間も前から、ライブサーバーでメールスクリプトを動作させようとしています。私のローカルホストで意図したとおりに動作します。
私はまったく同じ外部SMTPサーバー、同じPHPソース、同じデータベーステーブルも使用しています。オンラインとローカルホストの PHP のバージョンと MySQL のバージョンは同じです。
私はすべてをテストしました。物理的な送信プロセスがなくても、すべてがふりをして機能します。電子メールを送信 (または受信) しません。また、システム管理者のところに行って、ブロックされた電子メールや内部サーバー エラーがないかどうかを確認してもらいましたが、ここでもすべて問題ありませんでした。
考えられるすべてのことを実際に試しましたが、問題は見つかりませんでした。次に何を試すことができるか考えている人はいますか?
これは、物理的な送信の関数がどのように見えるかです:
private function sendPhysical($sReciepient) {
if ($oSmtpIn = fsockopen(SMTPSERVER, SMTPPORT)) {
fputs($oSmtpIn, "EHLO " . SMTPSERVER . "\r\n");
$aCodes["hello"] = fgets($oSmtpIn, 1024);
fputs($oSmtpIn, "auth login\r\n");
$aCodes["res"] = fgets($oSmtpIn, 1024);
fputs($oSmtpIn, $this->encodeUser() . "\r\n");
$aCodes["user"] = fgets($oSmtpIn, 1024);
fputs($oSmtpIn, $this->encodePassword() . "\r\n");
$aCodes["pass"] = fgets($oSmtpIn, 256);
fputs($oSmtpIn, "MAIL FROM: <" . $this->sFrom . ">\r\n");
$aCodes["From"] = fgets($oSmtpIn, 1024);
fputs($oSmtpIn, "RCPT TO: <" . $sReciepient . ">\r\n");
$aCodes["To"] = fgets($oSmtpIn, 1024);
fputs($oSmtpIn, "DATA\r\n");
$aCodes["data"] = fgets($oSmtpIn, 1024);
fputs($oSmtpIn, $this->generateHeader($sReciepient) . "\r\n\r\n" . $this->returnCompiledTemplate() . "\r\n.\r\n");
$aCodes["send"] = fgets($oSmtpIn, 256);
fputs($oSmtpIn, "QUIT\r\n");
fclose($oSmtpIn);
} else {
$aCodes["connection"] = false;
}
return $aCodes;
}
誰でも可能な解決策はありますか?ローカルホストで動作し、先週までオンラインサーバーで既に動作していたため、完全に混乱しています...