PEARメールを使用してGoogleAppsメールアカウントを介してメッセージを送信するPHPページがあります。このページは秋と冬にのみアクティブになり、1月に最後に使用されたときはうまく機能していました。
さて、秋に向けてサイトを準備しているので、このページは機能しなくなりました。PEARメールを使用したSMTPエラー535(認証データが正しくない)で説明したのとまったく同じ問題があります。その質問に対する回答がなく、コメントもできないため、新しい質問を開始します。
PHPページからGMailSMTPサーバーを使用して電子メールを送信するでpavankumarによって投稿されたものと同じコードを使用しています。
エラーメッセージは次のとおりです。
authentication failure [SMTP: Invalid response code received from server (code: 535, response: Incorrect authentication data)]
メールユーザーのログインが1月以降変更されていないことを再確認しました。スクリプトからアドレスとパスワードをコピーして、ブラウザのGmailログインに貼り付けました。それはうまくいったので、私のパラメータが正しいことを知っています。このアカウントはビジネスドメインアドレスであり、@gmail.comではありません。
私はで接続しようとしています:
$host = "ssl://smtp.gmail.com";
$port = "465";
また、tls://とポート587を指定してみましたが、運が悪かったです。また、別のSOスレッドの提案に従って、ホストを「gmail.com」ではなく「googlemail.com」に設定しました。
$ smtpオブジェクトのvar_dump()を実行し、アドレスとパスワードが正常かつ正確に渡されたことを確認しました。
アカウントは、最近PHP5.3.5およびApache2.2.22にアップグレードされたcPanelシステム上にあります。変更がこの問題を引き起こした可能性は低いようですが、それが要因である可能性がある場合に備えて言及します。
編集: http://support.google.com/a/bin/answer.py?hl=en&answer =176600 が見つかりました。「...デバイスまたはアプリケーションのIPアドレスを使用してドメインのSPFレコードを構成する必要があります。受信者が送信されたメールを拒否しないようにするため。このIPアドレスは、Google Appsコントロールパネルの[メールホワイトリスト]ボックスにも追加する必要があります。たとえば、送信デバイスが123.45.67.89から送信する場合は、そのアドレスをSPFに追加します。 Google Appsメールサーバーをレコードから削除せずにレコードを作成します...」残念ながら、このドメインにはメールホワイトリストボックスがありません。この機能がないのは、無料の10未満のユーザーアカウントです。
編集2:関連:http ://support.google.com/mail/bin/answer.py?hl = en&answer = 78775
編集3:Operaメールでアカウントを設定し、AUTHLOGINとAUTHPLAINの両方の設定を使用して正常に送信しました。