2016-07-20 6 views
0

私はPHPMailerをベースに構築した電子メール機能を備えたbluehost.comでサイトをホストしています。それは正常に実行されていますが、それは青いホストが過去24時間にいくつかのセキュリティ設定を変更したように見えます。それをデバッグして、私はこれを解決する方法を失っています。CLI(cron)からスクリプトを実行したときに「Host impersonating」でPHPMailerが拒否されました

bluehostがSMTPサーバーに接続しているホストの検証を終了するように設定されているようです。サイトを閲覧しながら、私は電子メールをトリガする場合は、電子メールは、まだ細かい送信します

SERVER -> CLIENT: 220-box304.bluehost.com ESMTP Exim 4.86_2 #1 Wed, 20 Jul 2016 10:16:19 -0600 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. 
CLIENT -> SERVER: EHLO www.fydentry.com 
SERVER -> CLIENT: 250-box304.bluehost.com Hello www.fydentry.com [69.89.31.104]250-SIZE 52428800250-8BITMIME250-AUTH PLAIN LOGIN250 HELP 
CLIENT -> SERVER: AUTH LOGIN 
... 
SERVER -> CLIENT: 235 Authentication succeeded 

いくつかの(ほとんどの)メールがしかし対話的に送られていない、とPHPスクリプトを定期的に実行されるデータベースにキューイングされバックグラウンドでcronジョブを介して、それらの電子メールを送信します。これは、正常に動作するために使用されるが、昨日のように、スクリプトはエラーをスローします:

SERVER -> CLIENT: 220-box304.bluehost.com ESMTP Exim 4.86_2 #1 Wed, 20 Jul 2016 10:30:08 -0600 220-We do not authorize the use of this system to transport unsolicited, 220 and/or bulk e-mail. 
CLIENT -> SERVER: EHLO box304.bluehost.com 
SERVER -> CLIENT: 550 "REJECTED - Bad HELO - Host impersonating [box304.bluehost.com]" 
SMTP ERROR: EHLO command failed: 550 "REJECTED - Bad HELO - Host impersonating [box304.bluehost.com]" 
CLIENT -> SERVER: HELO box304.bluehost.com 
SERVER -> CLIENT: 550 "REJECTED - Bad HELO - Host impersonating [box304.bluehost.com]" 
SMTP ERROR: HELO command failed: 550 "REJECTED - Bad HELO - Host impersonating [box304.bluehost.com]" 
CLIENT -> SERVER: QUIT 
SERVER -> CLIENT: 221 box304.bluehost.com closing connection 
SMTP connect() failed. 
インタラクティブログは、CLIを介して実行ソースサイトwww.fydentry.comが、PHPスクリプトを識別することを私が見ることができる

( cron)は、ボックス名を見て、それが有効なソースではないと判断します。

スクリプトがサイトアドレスから実行されているように、コマンドラインに追加できるパラメータはありますか?または、私はこれをエミュレートするためにPHPスクリプト内で行うことができますか?または、これはブルーホスト側の設定上の問題です。私は彼らに是正を依頼する必要がありますか?それとも私はここで何かを忘れてしまったのですか?

file_get_contents("http://www.fydentry.com/my-mailer-script.php"); 

十分にスクリプトが実行されているすべてのものを欺くようだ:私はターンでこれを実行するcronジョブ、基本ラッパースクリプトを呼び出すことで問題を回避ハッキングしてきた瞬間に

サイト。しかし、これは良い長期的な解決策のようには見えません。

答えて

1

私は同じ問題が昨日発生しました。私は人々がこれで今持っている問題のすべてを想像することができました。

とにかく、PHPMailerクラスの周りにこれを構築しているので、メールオブジェクトの "Helo"プロパティを設定してください。これは私のために働いた。ドキュメント(http://phpmailer.worxware.com/?pg=properties)から

$ HELOコマンドの国民は、メッセージのSMTP HELOを設定します(デフォルトは$ホスト名です)

・ホープ、このことができます!

+0

を、ありがとう! Hostnameプロパティを設定するコードを変更しました(これはHeloも同様に設定します)、すべてが正常に機能しています。 Bluehostは通知なしでこのようなものを無作為に変更し、誰からもヘルプや情報を得ることはできません(「サードパーティのアプリケーションはサポートしていません。私たちがあなたのために変更した情報はありません」)。 .. –

+0

偉大な、助けてうれしい! – Jpage

0

これは私のためにそれを解決:
一つだ

$mail->Hostname = "yourhostname.com"; 
$mail->Helo = $mail->Hostname; 
関連する問題