Stripping incoming email attachments doesn't notify sender

Continuing the discussion from Incoming emails with attachments are not processed:

It appears that when an attachment is stripped off (e.g., because it’s not on the approved file type list) the user is never notified that the attachment did not go through.

This causes users to think/assume we got their attachment when in fact it never got included in their post.

Stripping attachments should notify the user (similar to a failed post due to address mismatch or other problems) that the attachment was not included because the file type is not allowed. (Or too big, etc.)

「いいね!」 4

Back on topic, cleared out a ton of noise in this topic.

There are a lot of email clients that include little BS “attachments” with every email they send that contain signatures, calendar files, and other meaningless errata.

If we sent a bounce email on every one, for every “unknown” attachment that was emailed in, that’d be extremely noisy.

「いいね!」 2

Any actual numbers here? Calendar files are usually only sent when someone wants to communicate about an event. Email signatures perhaps but those are usually only for HTML formatted emails right?

I have seen these things but not convinced it’s really a problem here.

One could also only notify when removing a “legit” type such as accepted whitelist matches.

「いいね!」 2

All E-Mails I send have a smime.p7s attachment.

If dropping attachments notifies the sender, this needs a whitelist of filenames where dropping is harmless.

「いいね!」 1

申し訳ありません、古い投稿への返信ですが、添付ファイル付きの受信メールが Discourse で受け付けられず、処理されない問題に直面しています。

参考までに、添付ファイル付きの受信メールが処理されない は壊れているため、そのトピックを振り返ることができません。

Mailgun を使用しており、メールアドレス経由でメッセージを受信する Discourse グループを設定しています。Mailgun は Discourse インストールに HTTP 呼び出しを行い、これらのメールをメッセージとして配信しますが、これらの HTTP 呼び出しは 406 Not acceptable で失敗します。これは公式には次のように説明されています。

リソースは有効ですが、リクエストの Accept ヘッダーで指定された形式で提供できません。

Discourse のログには、これらの HTTP 406 エラーに関する情報は何も表示されません :confused:

あまり一般的ではないエラーとして、Mailgun が 413 Request Entity Too Large を報告することがありますが、これは理解できますが、Discourse 側でどのように解決すればよいかわかりません。Discourse がこれらを受け付けるようにするにはどうすればよいですか?