2011-06-01 41 views
4

私はこのコードを持っており、すべてローカルサーバー上で動作します。電子メールは問題なく送信されます。SMTPエラー:SMTPホストに接続できませんでした

しかし、今、私はウェブサーバにコンテンツを渡し、私はこのエラーを取得...

SMTP Error: Could not connect to SMTP host. 

SSLはserver..correctに有効でしょうか?そう、問題は何ですか? enter image description here

  $mail = new PHPMailer(); 
      $mail->IsSMTP(); 
      $mail->SMTPAuth = true;     // enable SMTP authentication 
      $mail->SMTPSecure = "ssl";     // sets the prefix to the servier 
      $mail->Host  = "smtp.gmail.com";  // sets GMAIL as the SMTP server 
      $mail->Port  = 465;     // set the SMTP port 
      $mail->Username = "dnteiro"; // GMAIL username 
      $mail->Password = "xxx";  // GMAIL password 
+0

そして、あなたのファイアウォールは、ポート465への外部からの接続を許可しますか? – Mel

+0

このPHPコードを実行するサーバー。 – Mel

+0

偉大な中国ファイアウォールもちろん。 – zerkms

答えて

8

あなたのWebホストはsmtp.gmail.com:465へのアウトバウンド接続をブロックしているように聞こえます。提案:

  1. を確認します。あなたのWebホスティングサーバーへのシェル/ターミナルのアクセス権を持っている場合、彼らは実際にこのをブロックしていることを確認するためのtelnetテストを試してみてください。実行telnet smtp.gmail.com 465

  2. お問い合わせ:ホスティングプロバイダに電話または電子メールで送信中継用に提供するSMTPサーバーを確認してください。差出人/返信先アドレスとして@gmail.comアドレスを使用することを知っていることを確認してください。

  3. コードの更新:ホストから別のメールサーバーが提供されたら、コードを更新してもう一度お試しください。

Webホストがサーバーからのアウトバウンドリレーをまったく許可しない場合は、アプリケーションの要件である場合は、スイッチングホストを確認する必要があります。

+2

私は同じ問題に直面しており、telnetは実際に私のために働いています。だから、私のホストは、ポート465を介してsmtp.gmail.comにアクセスするのを妨げない。 –

関連する問題