問題タブ [imap-open]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - スクリプトを使用してWindowsでコマンドラインを実行すると、PHP関数imap_openが失敗する
Windows Server 2012 を実行しており、イントラネットで apache と PHP も実行しています。
http://localhost/script.phpからスクリプトをプルすると、問題なく実行されます。
プロンプトでコマンドラインから同じスクリプトを実行すると: C:\wamp\bin\php\php5.3.3\php.exe C:\wamp\www\script.php
imap_open に到達すると、その行で停止します。
完全なコードは次のとおりです。
コマンドプロンプトで機能しない理由についてのアイデア。
php.ini に以下を含めました。
php - PHP imap_open は 7.0.6 では動作しますが、5.4.16 では動作しません
そのため、複数のメールボックスにアクセスできる汎用/アプリケーション/システム アカウント (用語は異なります) を持っています。私が使用するユーザー名は の形式<domain>/<username>/<mailbox>
であり、これが唯一の「普通ではない」ものです。次の行は、PHP 7.0.6 (私のラップトップ) では機能しますが、5.4.16 (開発サーバー) では機能しません。
私が得るエラーは次のとおりです。
PHP 通知: 不明: IMAP サーバーを認証できません: AUTHENTICATE に失敗しました。(errflg=2) in Unknown 行 0
私が試したこと:
<domain>/<user>
機能するメールボックスの元のアカウント (形式のユーザー名)/debug
in$mailbox
とflag の使用OP_DEBUG
- どれも役に立たなかった- Python を使用してサーバーへのメッセージをデバッグします。これにより、ユーザー名が 3 セグメントの文字列として送信され、機能することも確認されます
- 後で選択できると思って 3 番目のセグメント (メールボックス) を削除すると、両方のケース/バージョンで認証が失敗する
質問:
- これはPHPのバグですか?
- これを行う他の方法はありますか?(PHPのバージョンは変更できません)
- どうにかしてメッセージ ログを有効にすることはできますか? (ルートがないため、tcpdump オプションはありません)
php - PHP で Gmail からデータを抽出する際の失敗
友よ、この厄介な問題についての洞察をいただければ幸いです。かなり標準的なコードを使用して、PHP を使用して Gmail アカウントからメールを削除しています。テキストと HTML の電子メールでは機能するようですが、添付ファイルや埋め込み画像を含む電子メールでは機能しません。さらに悪いことに、別の Gmail アカウントで同じプラットフォームから実行されたまったく同じコードで適切に動作します。
以下は、画像または添付ファイルが埋め込まれた電子メールのスクレイピングされた $message を出力したときに表示されるものの例です。しかし、それは ASCII としてレンダリングされたバイナリの山です。
これが私のコードです:
電子メールを読み取れない原因となる何が欠けているかについての洞察に感謝します. ありがとうございました!
意味不明な出力は次のようになります。
�PNG IHDR��(/=�sRGB��� pHYs���+tEXtSoftwareMicrosoft Office�5qh\IDATx^��Uu��1���� ��
php - php imap_open と Microsoft Exchange (Outlook Web アプリ)
私が働いている会社は、Lotus Notes から Outlook Web App を使用する Microsoft Exchange に移行しました。Lotus Notes を使用すると、2014 年以降、私の PHP スクリプトは問題なく動作します。MS Exchange に移行してから、PHPimap_open
はこのメール アカウントにアクセスできなくなりました。
私のPHPコードは次のようになります。
PHP経由で何を試しても、「ログインに失敗しました」というメッセージが表示されます:
/ssl
代わりに試してみまし/tls
たが、ポート 993 でタイムアウトが発生します。
ただし、 Web ブラウザーでhttps://mail.company.com/owa経由で同じユーザー名とパスワードを使用してログインできます。
このことを再び実行するためのヒントはありますか?ありがとう!
php - imap_setflag_full は、メールを gmail の読み取りとして設定できません
ユーザーのメールボックスをチェックし、それらのメールをチケット システムに処理するスクリプトがあります。99% の場合、スクリプトは正常に動作します。ときどき、処理後に既読としてマークされない電子メールに出くわします。imap_setflag_full
フラグを使用して既読としてマークしていません。自動的にマークします。これまでのところ、これは Gmail で発生しています。
そのため、メールを使用しようimap_setflag_full
としても、既読としてマークされません。手動でできることは、受信トレイに移動してメールを削除することだけです。
なぜこれが起こっているのか誰にも分かりますか?
}