問題タブ [messageid]
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.
email - Notes ドキュメントからメッセージ ID (ユニバーサル ID ではない) を取得する
ドキュメントのメッセージ ID を取得したい。私は試した
しかし、それはnullを与えています。
windows - MSMQ によってトリガーされた powershell - 起動しますが、転送されたメッセージに対しては何もしません
これは Windows Server 2008 R2 Enterprise (64 ビット) 上にあります。
メッセージが特定のキューに到着したときに、powershell スクリプトを実行したいと考えています。サーバーにログオンし、ユーティリティを使用してメッセージをキューに移動/コピーすると、期待どおりに機能します。
ルールには条件がなく、「ピーク」ルールです。
メッセージは、実際には別のサーバーから送信されることを意図しています。これが発生すると、メッセージが届き、タスク マネージャーを見ると、powershell.exe が実行されていることがわかりますが、powershell スクリプトは実行されていないようです。
テストスクリプトをスクリプトと同じディレクトリにあるファイルに書き込むだけで、これを簡素化しようとしました。繰り返しますが、これはメッセージを手動でキューに移動する場合に機能しますが、メッセージが別のサーバーから到着した場合の結果は同じです。スクリプトが実行されていないようです。
トリガーは確実に起動します。別のサーバーから送信された後にメッセージが到着した場合、Windows タスク マネージャーで予想されるコマンド ラインを使用して powershell.exe を確認できます。
パラメータについては、スクリプトの完全なパスをテスト用の文字列パラメータとして持っています。
ネットワーク サービスに、キューとスクリプト ディレクトリに対する権限があることを確認しました。
イベント ログにエラーはありません。
次のことを試しましたが、異なる結果は得られませんでした。
- 32 ビットの powershell.exe に切り替えます。
- 常に真である条件を追加します。
- ネットワーク サービスからメッセージ キューおよびメッセージ キュー トリガー サービス用のドメイン アカウントに切り替え、アカウントのアクセス許可をキューおよびディレクトリに追加します。
それで、他の誰かが試してみることを考えることができますか?
ルールのパラメーターにプログラム スイッチを追加する方法はありますか? すべての文字列パラメーターを引用符で囲み、exe 選択ではスイッチを許可しません。
トリガーの実行時に stderr 出力をキャプチャする方法はありますか? おそらくどういうわけか失敗していますが、それを見る方法が見つかりません。
私の「テストスクリプト」の内容:
ありがとう!
編集:
write-eventlog の使用に切り替えたところ、メッセージが正しくログに記録されました。
これを行うと、メッセージが別のコンピューターから送信された場合、パラメーターとして MessageId を持つスクリプトは実行されないことがわかりました。これは、スクリプトで messageId が使用されていない場合でも発生します。
これは、「73493861-3988-4109-8356-206a1d7792da\25」のように見える messageId に関係している可能性がありますが、メッセージのソースによってはこれが機能しない理由がわかりません。messageId は 2 つの引数に分割されますが、追加の引数に \xx が含まれています。
java - IMAP、メッセージ ID を使用した移動メッセージの追跡
Java で書かれたメール クライアントを開発しています。Outlook や Thunderbird などと同じ機能を備えています。メール サーバーと直接通信します。さらに、ビジネス ルールでは、すべてのメッセージをデータベースに保存し、メッセージを常に同期する必要があります。これが IMAP にはあまり適していないことはわかっていますが、すべてをデータベースに保持する必要があります。フォルダ A からフォルダ B に移動された IMAP メッセージを追跡する方法について質問があります。? どうすればそれについて知ることができますか? A からメッセージを削除すると、メッセージは A から削除され、B で新しく作成されます。その結果、メッセージの UID 値が変更されます。ヘッダーにある MessageID を信頼できますか? いくつかのメール サーバーを確認したところ、ヘッダーのメッセージ ID が変更されていないことがわかりました。しかし、メールサーバーによってはメッセージIDが空になる可能性があることをどこかで読んだことがあります。
- ヘッダーの MessageID は常に設定されていますか? 空白のままにしておくケースまたはメールサーバーの可能性がありますか?
- ヘッダーの MessageID 値は IMAP フォルダー内で一意ですか?
- メッセージが移動されたとき、またはフォルダの UIDVALIDITY が変更されたときに変更される可能性はありますか?
フェッチ中にカスタム ヘッダーを設定するのはどうですか? 非標準のヘッダー名と値のペアを追加すると、それはメール サーバーに保持されますか? または非標準のメール ヘッダーがメール サーバーによって削除される可能性はありますか? 非標準ヘッダー値を適用するのは悪い考えですか?
/li>stackoverflow でいくつかの提案がありました。messageId とその他のパラメーター (sender、subject など) を含むハッシュを生成すると言われていますが、安全な方法ですか? 一意の MessageID が提供されていないか、MessageID が提供されていない場合、競合が発生する可能性があります。
smtp - ESMTP Postfix Server - メッセージ ID のオーバーライドを防止
私たちの CRM システムでは、すべての受信メールをメッセージ ID で識別する必要があります。その ID を使用して、システムに関連するメールが既にあるかどうかを確認できます。現在、Postfix Server は生成された Message-ID を毎回オーバーライドしているようです。サーバーが Message-ID をオーバーライドするのを防ぐための構成はありますか?
Google アカウントでテストしましたが、Google サーバーは ID をオーバーライドしていません。