14

同様の問題を抱えている人はたくさんいますが、誰も彼らの質問に答えていません。すべての正しい情報を使用して、PHP で IMAP を有効にしています。どこが間違っているのかわかりません。

これが私のコードです:

$hostname = '{imap.gmail.com:995/imap/ssl/novalidate-cert}'; 
$username = 'emailaddress@gmail.com'; $password = 'password'; 
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());

print_r(imap_errors());

以下以外のエラーを返さない:

警告: imap_open() [function.imap-open]: /home/a8066360/public_html/test/imap.php のストリーム {imap.gmail.com:995/imap/ssl/novalidate-cert} をオンラインで開けませんでした6

Gmail に接続できません: gmail-imap.l.google.com に接続できません, 995: 接続がタイムアウトしました

一重引用符を ` に変更すると、

shell_exec() はセキュリティ上の理由から無効になっています...

助けてください!!!

4

7 に答える 7

14

SSL IMAPポートであるポート993が必要です。

ポート 995 は SSL POP3ポートです。

于 2012-08-02T13:32:53.690 に答える
6

Gmail の IMAP はポート 993 でしかアクセスできないと思います。

$hostname = "{imap.gmail.com:993/imap/ssl/novalidate-cert}";

于 2012-08-02T06:55:06.247 に答える
4

同じエラーが発生し、別の解決策を見つけました。ホストにデバッグ情報を追加しました:

"{imap.gmail.com:993/debug/imap/ssl/novalidate-cert}INBOX"; 

PHPのエラーログを読むと、

Unknown: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure) (errflg=1) in Unknown on line 0

リンクを開き、指示に従います。検索する

アプリが最新のセキュリティ基準をサポートしていない可能性があります。安全性の低いアプリがアカウントにアクセスできるように、いくつかの設定を変更してみてください。

リンクをクリックして、安全性の低いアプリ アクセスを有効にします。

それからそれは私のために働きます。

于 2016-05-14T08:23:05.507 に答える
0

2 段階認証を設定し、リクエストで使用する APP パスワードを割り当てることができます (パスワードをアプリ用に提供されたパスワードに置き換えるだけで、通常のパスワードは変更されません)。

これにより、Google がブロックすることなく、任意のホストからスクリプトを実行できます (ログイン場所の変更による)。

于 2016-08-11T13:54:09.857 に答える