Email signature not being stripped out when user write new topic or reply to a topic

先ほど、Gmail アドレスと Web ベースの Gmail アプリを使用してメッセージを送信することができました。これには画像署名が含まれていましたが、正常にトリミングされました。

しかし、同じメールアカウントからローカルの Outlook 2016 アプリ(PC 版)でメッセージを送信した場合は、署名が削除されませんでした(同じ署名画像ですが、Outlook 側で設定されています)。

現実的な話として、このフォーラムのユーザーの大部分は Microsoft Outlook アプリを使用しているでしょうから、トリミングプロセスの「成功」基準としては、Outlook での動作が基準となるはずです。

現在、問題となっているのは特定の Outlook 2016 の送信元だけでしょうか、それともすべてでしょうか?

Outlook 2016 は、トリミングに抵抗する要素を挿入することが知られていますか?あるいは、email_reply_trimmer ライブラリに含めるべき人気アプリとして、Outlook 2016 が考慮されていなかったのでしょうか?

これに対処するための戦略は見つかりましたか?(ユーザーに「フォーラムへのメール送信時に自動署名をオフにするように覚えておいてほしい」と頼む以外に。もちろん、それは不満を招くことは目に見えています!)

また、トリミングされていない Outlook 2016 のメッセージ内の署名は正しく解析されていないことも確認しました。私の場合、テキストの書式やフォントが崩れていたり、余計な文字が数個追加されていたり、画像が過剰に拡大表示されていたりします。これは、トリミングが失敗した結果なのでしょうか?

Outlook 16 のユーザーの署名がトリマーを常に通過してしまう問題と、不明なクライアント(ただし outlook.com および/または MS-Exchange を経由して送信)から送信され、下部に白い四角形の画像ファイルが含まれているもう 1 つの問題があります。例如下記の通りです:

![~WRD000.jpg|100x100](upload://bONwCMToQaefS5MCaw6ckHjvG5z.jpg)

![image001.jpg|45x45](upload://yS0BlfXTqaPhoqyF6LaZLwt7xJv.jpg)

トリマーを通過する他の署名も稀に見られますが、頻繁に発生するわけでも、一貫して発生するわけでもありません。

ふむ、ここからの最善の戦略は何でしょうか?

この email_reply_trimmer ライブラリは、私のような素人でもいじって、他のメールアプリに適用されているスクリプトのパターンを特定し、Outlook 2016 の署名用のフィルタを追加できるのでしょうか?このスクリプトは現在 Discourse のコア機能の一部になっていると読んだ気がするのですが、私の勘違いでしょうか?

GitHub を扱ったことがないので、実験の過程で他の誰かを混乱させたり、自分のフォーラムに修復不能な損害を与えたりすることを恐れています。

メールが適切に切り詰められない場合、そのソースを PM で送っていただければ確認します。

カテゴリ内の新しいトピックを作成するために、ウェブフォームを使用してメールを生成しています。

このウェブフォームには、デフォルトで以下が含まれています:

このメールは、フォームの送信結果として [カテゴリのメールアドレス] へ送信されました。
不要なメールを報告するには、こちらをクリックしてください。

このようなメッセージを削除する方法はありますか?

メッセージを-‍- (ダッシュ 2 つとスペース)の下に配置するように、Web フォームソフトウェアを変更してみてください。そうすると、署名のように見えます。

blah blah
フォーム:内容

-- 

このメールは、フォームが送信された結果として、[カテゴリのメールアドレス] に送信されました。
不要なメールを報告するには、こちらをクリックしてください。

上記の「ダッシュ 2 つとスペース」は実際にコピーしないでください。そこにユニコードのトリックが仕込まれています

ありがとうございます!ウェブフォームテンプレートに追加できるか確認いたします!

この機能は非常に役立つでしょう。問題のある署名を「再度表示された場合は削除する」リストに追加できるようになれば、すべての署名を推測してマッチングさせる必要がなく、単にそのテキストをそのまま削除するだけなので、マッチングもよりシンプルになります。

これに賛成です。ただし、私は「-- 」の使用を人々に依頼してみます。

それは少し違いますね。中央にスペースを入れる必要があります。つまり「- -」です。

個人的には、ユーザーに署名にそれを入力してもらうのはかなり難しいと感じています。肩越しに覗き見て設定してあげれば問題ありませんが、自分一人でやろうとすると苦労するんです!!もしかしたら、あなたのコミュニティのユーザーはもっと技術に詳しいのかもしれませんね。

私の認識では、上記に示されている通り、ハイフン・ハイフン・スペースの形式が慣例です。また、こちらの導入コメントや144行目も参照してください:discourse_email_parser/lib/discourse_email_parser.rb at master · discourse/discourse_email_parser · GitHub

そのコメントとコードには「- -」が含まれています。詳しく確認してください。

実際にはそうではありません。144 行目の正規表現を https://rubular.com/ にコピー&ペーストすると、-- (ハイフン・ハイフン・スペース)には一致しますが、- - (ハイフン・スペース・ハイフン)には一致しないことが確認できます。

ああ、なるほど。確かにそのように見えますね。144 行目から何か別の場所にコピー&ペーストしない限り、その間にスペースがあるように見えます。
"--/s" コードとして表示されると、ハイフンの間にスペースがあるように見えます。
しかし、Markdown に直接コピー&ペーストした「–/s」には、明らかにスペースがありません。

これで私がなぜこの問題でうまくいかなかったのかが説明できますね!粘り強く対応してくださり、ありがとうございます。

どういたしまして :slight_smile:

Ruby は詳しくありませんが、\s は改行もスペースもマッチするようです。もしそうなら、スペースなしで単独の行に -- がある場合でも問題ないはずです。

Markdown では、水平線を作成するために複数のハイフンが使用されます。水平線の下に会議の詳細を含むメッセージがあります。トリミングを引き起こさずに区切り線を作成するための代替案はありますか?

例えば、受信メールには以下のような内容が含まれている場合があります。


これは例のメールの内容です。会議の詳細が含まれている可能性があります。この投稿がメールで送信された場合、この部分とその以降のすべてが切り捨てられます。


ありがとうございます!

直近で、繰り返し問題を引き起こしているメールと投稿を含む PM を送信しました(リンク)。

問題は、Discourse の投稿にメールで返信する際、いくつかの白い画像が投稿に付加されてしまうことです。その結果、テキストの後に不要な空白領域ができてしまいます。これは特定のユーザーにのみ発生しているようです。このユーザーには、厳密にはメール署名は設定されていません。

まだメンバーの署名の5〜10%程度が抜け落ちてしまっています。

現在のヒューリスティクスではこれらを処理できない場合、署名用の手動データベース、あるいは自動的に検出されないままメールに埋め込まれて送信され続ける画像の導入が不可欠だと本気で思います。

フォーラムはユーザーの日常のメール活動のごく一部に過ぎないにもかかわらず、ユーザーにそのためにメール署名を変更することを求めるなど、世界中どこを探してもあり得ません。

私たちはもちろん改善を望んでいます。失敗した検知の事例が必要です。そうすれば、テスト行列に追加できるからです。

失敗した例を効果的に提出して、改善につなげるにはどうすればよいでしょうか?

私個人としては、ここが公開スペースであるため、社内の(非公開)フォーラムから直接例を投稿することができません。

そのための一つの方法として、特定の指名されたスタッフメンバーにPM(タグ付きの場合あり)を送り、設定リンクを添えることが考えられます。