2009-09-03 21 views
39

私は現在、送信された通知メール(sigh)に返信することができるシステムに取り組んでいます。電子メールの署名と返信

私はすべてのノイズなしで返信の実際の内容が残っているように、返信と署名を取り除く必要があります。

これを行う最善の方法についてご意見はありますか?

答えて

33

あなたのシステムが社内であり、かつ/または応答フォーマットの数が限られている場合は、かなり良い仕事をすることができます。ここでは、Tracのチケットに電子メール応答を設定したフィルタは、以下のとおりです。

ドロップすべての後のテキストを含む:'--\n'を等しく'-- \n'(標準の電子メールSIGの区切り)

  • 行を等しく

    1. 行は(人々はしばしばSIGの区切りにスペースを忘れて、そしてこれがないという一般的な外SIGS)'-----Original Message-----'(MS Outlookのデフォルトで始まる
    2. 行)で始まる
    3. 行'(32アンダー、再び展望)'On 'で始まり、' wrote:\n'(OS X Mail.appデフォルト)で終了
    4. ライン
    5. 'From: '(フェイルセーフ4種類のOutlookおよびいくつかの他の応答フォーマット)で始まる行
    6. 'Sent from my BlackBerry'

    番号3および4で始まる'Sent from my iPhone'

  • 行で始まる行は、時々、ユーザーが事故で一緒にラインを押しつぶすますので、代わりに「等しい」「」で始まります。されています。

    私たちは、迷惑なテキストを修正するよりも(私たちにとって)返信用のゴミを持っているので、返信を取り除くことについてもっと自由にしようとしています。

    誰もが共有したい野生の他のフォーマットを持っていますか?

  • +6

    Gmailは '

    ...
    '、とヤフーを使用しています。代わりにhttps://github.com/lawrencepit/email_reply_parserをお勧めします。 –

    8

    あなたがこれを行うことができるとは思わない(署名は'--'で始まりましたが、それ以上は見えません)。おそらく、あなたは、人々にテキストヘッダーの間で返信するように頼んだほうがいいでしょう。それはエレガントではありませんが、おそらくより信頼できます。

    REPLY BETWEEN HERE --> 
    
    AND HERE --> 
    

    このように、必要なヘッダーを探して、その中の内容を確認するだけです。

    +3

    あるいは単にを解析し、電子メールに特化し、本当に素敵なPHPライブラリあります------------------------ –

    +0

    確かに。最も使いやすく、あいまいではありません。 –

    -2

    recommended signature delimiterは " - \ n"です。人々がこの勧告に従うならば、署名を取り除くのは容易でなければならない。

    +0

    私はもうそれを使用している人は見ません、もっと残念です。 –

    +0

    大きなIF ...この場合、確かに標準ではありません。 –

    0

    これらのメールがプレーンテキストであると想定できる場合は、返信として「>」で始まる行を削除し、「 - 」行は署名の区切りにする必要があります。しかし、インターネット上のすべての人々が規則に従うソフトウェアを使用するわけではないので、これらの前提はうまくいかないかもしれません。

    +0

    これが問題です。私はあなたがこれを確実に自動化できるとは思わない。 –

    +0

    なぜこれがdownvotedされているのかは技術的にはupvoted acceptと同じであるから少しだけ包括的である。確かに間違った答えではありません。 – hayavuk

    9

    email_reply_parser gem - https://github.com/github/email_reply_parserをご覧ください。この問題を処理するのは素晴らしい仕事です。

    +0

    最終私は(プル要求は、などのコメントを取得するために6ヶ月)、そのプロジェクトは非常によく維持されなかったがチェック: '

    ...
    は'引用された部分のために(を含む「..に書いた:」) – DrewB

    1

    のみ署名するために使用することができるアプローチ(加えて__を検出するために、または - )〜3を含む送信者のファーストネーム及び/又は家族の名前が短いライン(上にあるかどうかをテストすることです〜4ワード、最大)。 From: John Doe <[email protected]>

    これはあなたが稀に電子メールで自分の名前を書かないという仮定に基づいて次のようになります。でのように

    送信者名は、電子メールアドレスへの時間のほとんどは、次の、生の電子メールのヘッダーにありますあなたがそうするならば、おそらく長い文にあるでしょう。

    もちろん、偽陽性があるかもしれませんが、あなたが何をするかによって大きな問題はありません(Gmailのスタイルのボタンに引用されたテキストと署名を折り畳むために使用するので、コンテンツを失うことに終わり、それはちょうど間違っている)。 ------------ THIS LINE ABOVE REPLY:

    関連する問題