問題タブ [php-imap]
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 - php_imap を使用して完全な IMAP メールボックスをクリアする方法
PHP IMAPを使用していて、ボックス内のすべてのメールを削除したいのですが、すべてのフォルダを選択する方法が見つかりません。
次を使用して、すべてのフォルダー名を取得できますimap_listmailbox
。
Yahoo の例:次のフォルダ名を返します: (受信トレイ、一括メール、下書き...)
そして、これらすべてのフォルダーに接続し、ループを使用して内部を削除できますが、次のような例mails
を常に指定する必要があるため、同時にではありません。FolderName
フォルダ名なしで試してみると、たとえば:
それはデフォルトのフォルダを選択しますINBOX
。
私が試してみるとALL
、例えば:
それは何も返さない。
注 :[Gmail]/Tous les messages
GMAIL では、すべてのメールを含むという名前のフォルダーがあることがわかりました。
php - php : メールを 1 つ削除すると、imap メッセージのシーケンス番号が変更される
IMAP を介して電子メール アカウントを構成し、電子メールの読み取り、削除、移動などの操作を実行できるアプリケーションが 1 つあります。1 つの電子メールを削除すると、他の電子メールが削除されるという問題に直面しています。デバッグ後、2 人のユーザーが同じメール アカウントを設定しており、ページを更新せずに 2 つの異なるブラウザーからメールを削除していることがわかりました。
実際には、 imap_fetch_overviewによって返された 1 つのメール msgno を削除すると変更されますが、他のページでは古い msgno を持つ同じメールがまだ開いており、そのメールを削除すると他のメールが削除されます。
削除前後の msgno を確認 する
上記の例では、件名が「test 4」のメールを削除すると、「test 6」、「test 7」、「test 8」の msgno が変更されます。以前にメールを開いた他のユーザーが件名「test 7」のメールを削除しようとすると、実際には件名「test 8」のメールが削除されます。
メールを削除するには、msgno をパラメーターとして受け取る imap_delete 関数を使用しています。このような問題を処理する方法を手伝ってください。または、変更されない各メールの一意の識別子を取得する方法があり、その識別子を使用して、削除、移動などの IMAP 操作も実行できます。
php - セクションを 1.2 に設定すると、PHP imap_fetchbody() 関数が返されない
バックグラウンド
IMAP PHP 拡張機能を使用してメールを取得するために、次のコードを実行しています。
質問
imap_fetchbody()
section
引数を に設定すると、1
ヘッダーと HTML を含む完全な電子メールを受信しています。http://pastebin.com/np84rG7r
ただし、1.2
メッセージが HTML であることを識別するために引数を に変更すると、何も返されません。
なぜこうなった?
アップデート
動作しない理由がわかるまで、この小さなコード スニペットを手動で作成しました。
php - imap_num_msg が正しい金額を返さない
に行くと/home/myname/Maildir/new
、そのフォルダに 3 つのファイルが表示されます。
PHP ではimap_num_msg(imap_open("{localhost:143/novalidate-cert}INBOX", "myname", "mypass"))
、出力として 1 を取得します。
数値が同じではないですか?
sendmail myname@localhost < email.txt
CLI で実行すると、メッセージが表示されますが、表示されませ/home/myname/Maildir/new
んimap_num_msg
。
php - Php-cli imap_open は常にパスワードを要求します
次の簡単なコードで、imap_open を使用してメールボックスに接続しようとしています。
これを php-cli 経由で実行すると、パスワードの入力を求められます...どのようなパスワードを導入しても機能します。ユーザー名とパスワードが正しいと確信しているので (telnet でテスト済み)、なぜ再度要求するのかわかりません。
何か案が?
php - php-imap ライブラリで GMAIL メッセージ ID を取得する
API(ログイン/パスワード認証を備えた標準のphp-imapライブラリ)を使用せずにgmailメッセージIDを取得すると問題が発生します。X-GM-THRID フラグに関する情報を見つけましたが、このhttp://php.net/manual/ru/ref.imap.phpライブラリの標準関数でどのように使用できますか??
このIDを取得したいhttps://yadi.sk/i/lF_9rRMZps3n5
php - PHP - 電子メールからの WAV ダウンロード
.wav
現在、メールにアクセスし、ボイスメール用にアクセスするファイルをプルする PHP スクリプトがあります。
しかし、新しいボイスメール システムは次の.wav
ように送信します: 01359272577 03-14-16 20h14.wav
、古いシステムは次のように送信しました: msg100.wav
。
スペースがない場合、スクリプトは wav ファイルをダウンロードします。ファイルの名前にスペースが含まれていると、なぜそれができないのか、私にはわかりません。
EDITED以下の SQL なしの新しいスクリプトを参照してください。元のファイル名にスペースが含まれている場合、ファイルは抽出されません。
EDITEDさらに遊んでいます。再度メールを送信する場合。ただし、最初にファイルをデスクトップにドラッグしてから、メールに戻します。1kbを落としてから、ファイルをフォルダーに入れ、100%動作します
誰かがこれを理解するのを手伝ってくれますか?
ファイルに関する少しのデバッグを以下に示します。
抽出されなかったファイル。
したファイル。
これは私のコードです:
php - Imapはメールアカウントのすべてのメールをカウントします
からのすべてのメールとメールをカウントしようとしていますが、スクリプトは受信トレイからのメールのみをカウントします。
送信済み、スパム、削除済みなどを含む、メールアカウントからのすべてのメールをカウントする方法を知っている人
php - メールから「=2E」をフィルタリングする
PHP5-imap を介して電子メールを取得および解析します。電子メールを解析するときに、一部の電子メールに、自動的に除外されない特殊文字 (改行の前=2E
など) が含まれていることに気付きました。=
これらの文字を除外する最良の方法は何ですか?
メール本文を取得するために、このコード セクションを使用しています。