問題タブ [email-threading]

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.

0 投票する
1 に答える
769 参照

ruby - メールをスレッドにまとめるアルゴリズム?

電子メールメッセージをスレッドに整理するための名前付き/有名な/特に優れたアルゴリズムはありますか?

Google グループ (および他のメーリング リスト) に似た機能を自分のサイトに追加しようと考えています。独自のアルゴリズムを作成するのはおそらくかなり簡単であることはわかっていますが、まずまずのアルゴリズムと優れたアルゴリズムの間には、ユーザー エクスペリエンスに大きな違いがある可能性があります。

Ruby で既に実装されているアルゴリズムのボーナス ポイント!

0 投票する
3 に答える
1678 参照

parsing - メールのスレッド化

私はヘルプデスクアプリケーションで働いています。そこでは、メールサーバーにクエリを実行し、そこで見つかったメールを解析するスタンドアロンスクリプトがあります。
私は次の問題に直面しています。どのメールがどのメールに返信されているかを信頼できる方法で把握するにはどうすればよいですか。
「[ticket:21312]」のような件名に何かを追加してそれを探すことはできますが、ユーザーが件名を変更した場合はどうなりますか?別の方法はありますか?カスタムメールヘッダーを設定してそれを探すことはできますか?そうしないと、ユーザーからの返信時にメールサーバー間でヘッダーが保持されませんか?アプリケーションから存在しないユーザーまたはクォータがいっぱいのユーザーにメッセージを送信し、サーバーが通常の標準メッセージ「....のメールデーモンができませんでした....」で応答した場合はどうなりますか?件名も変更され、既存のメールへの返信としてメッセージを正しく配置できません。

Gmailはどのようにそれを行いますか?そこでは、ほとんどすべての場合にメッセージが完全にソートされています。

0 投票する
5 に答える
2615 参照

email - Gmail のように、電子メールのスレッドを自動的に「検出」するオープン ソース ツールはありますか?

たとえば、元のメッセージ (メッセージ 1) が...

ねえ、ジョン、
ピザを食べに行きませんか?
-明細書

そして返信(メッセージ2)は…

ビル、
すみません、今日はランチを作れません。
Jonathon Parks、CTO Acme Systems

2010 年 2 月 24 日水曜日の午後 4 時 43 分に、ビル・ウォーターズは次のように書いています。

> ねえ、ジョン
> ピザを食べに行きませんか?
> -ビル

Gmail では、システムは (a) メッセージ 2 がメッセージ 1 への返信であることを検出し、これをある種の「スレッド」に変換し、(b)メッセージの返信部分が実際にどこにあるかを検出し、それをユーザーから隠します。(この場合、隠し部分は「2 月 2 日の水曜日」から始まり、メッセージの最後まで続きます。)

明らかに、この単純な例では、"On <Date>, <Name> written:" または ">" 文字プレフィックスを簡単に検出できます。しかし、多くの電子メール システムには、返信をマークするさまざまなスタイルがあります (HTML 電子メールは言うまでもありません)。GMail の優れた機能に近づけるには、非常にスマートな文字列解析アルゴリズムが必要になると思います。

このテクノロジは、どこかのオープン ソース プロジェクトに既に存在しますか? これ専用のライブラリ、または同様のメッセージスレッドを行うオープンソースの電子メールクライアントのいずれかでしょうか?

ありがとう。

0 投票する
0 に答える
68 参照

email - メール差分アルゴリズム

Gmailの機能を「魔法のように」複製して、無関係な引用されたものを電子メールに表示せず、ほとんど関連するものを表示したいと思います。実際に新しく、表示する必要があるテキストを見つけるのに役立つライブラリはありますか? または、続行する方法について何か提案はありますか?

どちらの 2 つのメッセージが一緒に属し、どちらが他方への回答であるかはわかっていますが、関連するテキストのみを表示したいと考えています。

0 投票する
2 に答える
661 参照

algorithm - ツイートをスレッド化するためのヒューリスティックの良いセットは何ですか?

メールをスレッド化する場合は、JamieZawinskiのアルゴリズムを使用します。しかし、それは新しい世紀であり、新しいメッセージングサービスがあります。

Twitterに投稿されたステータスの更新をスレッド化するための最良のアルゴリズムは何ですか?

私が絶対に対処したいこと:

  • 簡単な部分:、、およびを使用in_reply_to_status_idin_reply_to_user_idますin_reply_to_screen_name。(ちなみに、これらの値の適切なドキュメントを見つけること自体が役立ちます!このようなドキュメントは、たとえば、ここから明らかにリンクされていません 。)

  • @規則でユーザーに言及しているが、特定のメッセージに明示的に応答していないメッセージから「応答」関係を推測するための優れたヒューリスティック。これらの「メンション」は、 リクエストした場合、ステータスの「エンティティ」要素で提供されるようになりました。これらのヒューリスティックは、(a)2つのステータス更新間の時間、(b)2人のユーザー間に後続の返信があるかどうかなどを考慮に入れる場合があります(user85509が言及した、古いスタイルのリツイートと追加のコメントで構成される返信以下 は、このスタイルの返信のほんの一例です。)

  • 3人以上のユーザー間で行われる会話。

  • アルゴリズムに与えられた一連のツイート、またはTwitterのすべてのツイートを操作します。

...しかし、おそらくあなたはもっと考えることができます。

0 投票する
2 に答える
1213 参照

python - imaplibでスレッド検索メソッドを使用するにはどうすればよいですか?

メールを会話(スレッド)として表示できるGmailクライアントを作成したいと思います。imaplibには、次のメソッドがあります 。IMAP4.thread(threading_algorithm、charset、search_criterion [、...]) これが解決策になると思います。誰かがそれを使用した経験がありますか?例を挙げてください。ありがとう。

0 投票する
1 に答える
371 参照

django - メールヘッダー情報を使用したdjangoのメールスレッドの並べ替え

メールスレッドを保存するdjangoアプリがあります。mboxから元のメールを解析してデータベースに挿入するときは、メールヘッダーパラメーター「message-id」と「in-reply-to」を含めます。message-idはメッセージを識別する一意の文字列であり、in-reply-toは特定のメッセージが応答しているメッセージを識別します。

これが私のモデルのメッセージ部分です:

目標は、Gmailに似たスレッド形式でメールの会話を表示できるようにすることです。メールヘッダーからのmessage-id(モデルではmesg_id)とin-reply-to(モデルではin_reply_to)を使用して、メールを追跡し、スレッド化することを計画していました。

SOとgoogleを確認した後、これを行うにはdjango-treebeardやdjango-mpttなどのライブラリを使用する必要があるようです。これら2つのソリューションのいずれかのドキュメントを確認すると、ほとんどのモデルが外部キーの関係を使用しているように見え、これで混乱します。

上記のモデルの例を考えると、アプリにdjango-treebeardまたはdjango-mpttを実装するにはどうすればよいですか?これは、mesg_idフィールドとin_reply_toフィールドを使用して可能ですか?

0 投票する
1 に答える
632 参照

android - javamail を使用して最新のスレッド メールを読む

会話のスレッド化は、多くの電子メール クライアントで使用される機能であり、ソフトウェアがメッセージを視覚的にグループ化することでユーザーを支援します。

この投稿からAndroid.Guideで実行されているjavamailを使用して電子メールクライアントアプリケーションを構築し、未読メッセージを取得することに成功しました。この出力は、会話のようなネストされたメールです

私の問題は、このスレッドの最新のメッセージ [A リプレイから B (最新メッセージ)] のみを取得したいということです。どうすればいいの??

0 投票する
1 に答える
827 参照

java - Javaマルチスレッドアプリケーション:thread.sleep(100)はほぼ永遠にかかります

クライアントに多数の電子メールを送信するアプリケーションを修正しようとしています。送信はマルチスレッドの Java アプリ (Producer-Consumer モデル) によって行われ、Producer はデータベースからメッセージのリストを呼び出し、Consumer は Python スクリプトを呼び出してメールを送信します。

ある日から別の日に、私の上司は私に、プログラムが動かなくなったと言いました。 .. そして今では、以前の 1000 件の数ではなく、1 時間あたり 2 ~ 3 件のメッセージしか送信しません。

開発者は利用できなくなったので、自分で修正する必要があります。

データベースをクリアしました。データベースには「過去」に関するデータしか含まれておらず、不要であり、巨大でした... 6GB のデータ、7M 行、非常に低速でした。しかし、問題は残りました。

今、私は Java アプリで画面にログオンしています。次の行が表示されます。

眠りに「とどまる」と、私は見る:

11:24:15:: consumer_thread_1 は 100 ミリ秒スリープしています ::

他に何も起こりません。「スリープタイムオーバー」もスタックデータもありません。スレッドのスリープに永遠にかかるように見えます...ただし、プロセスを実行し続けると、ランダムな時間が数回経過した後、スレッドは継続し、再びスリープします...何時間も。

何か案は?

ここにいくつかのファイルがあります。全体の構造を理解するために必要かもしれません...

runjava

newthread.java

どんな助けでも大歓迎です!!

編集:

スレッド ダンプは次のとおりです。

0 投票する
1 に答える
3161 参照

php - PHP Imap: スレッド化された電子メールの会話

PHP の IMAP 関数は初めてで、チケット サイトを構築する任務を負っています。
私は基本的な電子メールの取得部分を取得しましたが、「スレッド化された会話ビュー」のハードルにちょっとつまずきました。

スマートフォンの SMS 機能と同じように、メール (送信と受信の両方) をスレッド化された会話ビューで表示できる必要があります。

私が見つけたアルゴリズムのほとんどは、送信されたアイテムを除いて、すべてスレッド化された受信トレイを処理していました。これで私を助けてくれるといいですね。

私の最終的な目標結果は、最初は、件名ごとにグループ化された「未読」メールの配列であり、それぞれがその件名に属する交換された電子メールの証跡を含んでいます。

このようなもの: