Структура письма следующая:
* #<Mail::Part:39500, Multipart: false, Headers: <MIME-Version: 1.0>, <Content-Type: text/plain; charset=us-ascii>, <Content-Transfer-Encoding: 7bit>, <Content-Disposition: inline>, <Content-ID: <6958bf289b75c_b28a46298091029@forum-01-app.mail>>> "___…tor-relays mailing list…"
* #<Mail::Part:39520, Multipart: true, Headers: <Content-Type: multipart/signed; boundary="Sig_/gizYC_1dGsAzUHvksdaMIe2"; micalg=pgp-sha256; protocol="application/pgp-signature">, <Content-Transfer-Encoding: 7bit>>
* #<Mail::Part:39540, Multipart: false, Headers: <Content-Type: text/plain; charset=US-ASCII>, <Content-Transfer-Encoding: quoted-printable>>,
"On 02.01.2026…"
* #<Mail::Part:39560, Multipart: false, Headers: <Content-Type: text/plain; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>>,
""
* #<Mail::Part:39580, Multipart: false, Headers: <Content-Type: text/plain; charset=US-ASCII>, <Content-Transfer-Encoding: quoted-printable>>,
"On 02.01.2026…"
* #<Mail::Part:39600, Multipart: false, Headers: <Content-Type: text/plain; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>>,
""
* #<Mail::Part:39620, Multipart: false, Headers: <Content-Type: text/plain; charset=US-ASCII>, <Content-Transfer-Encoding: quoted-printable>>,
"On 02.01.2026…"
* #<Mail::Part:39640, Multipart: false, Headers: <Content-Type: text/plain; charset=UTF-8>, <Content-Transfer-Encoding: 7bit>>,
""
* #<Mail::Part:39660, Multipart: false, Headers: <Content-Type: text/plain; charset=US-ASCII>, <Content-Transfer-Encoding: quoted-printable>>,
"On 02.01.2026…"
* #<Mail::Part:39680, Multipart: false, Headers: <Content-Type: application/pgp-signature>, <Content-Description: Digitale Signatur von OpenPGP>>,
PGP signature
* #<Mail::Part:39700, Multipart: false, Headers: <Content-Type: application/pgp-signature>, <Content-Transfer-Encoding: 7bit>, <Content-Description: Digitale Signatur von OpenPGP>>,
PGP signature
* #<Mail::Part:39720, Multipart: false, Headers: <Content-Type: application/pgp-signature>, <Content-Transfer-Encoding: 7bit>, <Content-Description: Digitale Signatur von OpenPGP>>]
PGP signature
(да, есть три копии основного содержимого, пустого содержимого и PGP-подписи)
Первая часть text/plain добавляется программным обеспечением рассылки и выглядит так:
_______________________________________________
tor-relays mailing list -- tor-relays@lists.torproject.org
To unsubscribe send an email to tor-relays-leave@lists.torproject.org
Именно это Discourse (на самом деле gem mail через .text_part) выбирает в качестве содержимого сообщения:
> puts mail.text_part.to_s
MIME-Version: 1.0
Content-Type: text/plain;
charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Content-ID: <6958bf289b75c_b28a46298091029@forum-01-app.mail>
_______________________________________________
tor-relays mailing list -- tor-relays@lists.torproject.org
To unsubscribe send an email to tor-relays-leave@lists.torproject.org
и рассматривает как пустое тело с удалённой подписью.
Если бы не эта в основном пустая часть, добавленная рассылкой, Discourse извлек бы для поста следующее содержимое:
> We received a court order to preserve the data on the system and were
> forbidden from informing the system owner, which was awkward since
> they had informed the system owner...
Which data did they request?
> Since then I've always run my exit on a separate system on it's own
> IP so if there were a legal demand to turn over "the system" it would
> really only be that system. I'm not a lawyer but I don't think docker
> provides enough isolation for that.
Can they deny you to turn the relay off?
If so, you could then operate a new "system" on another IP.
(ниже удалённая часть)
On 02.01.2026 18:46 Jon via tor-relays <tor-relays@lists.torproject.org> wrote:
--
kind regards
Marco
Send spam to abfall1767375998@stinkedores.dorfdsl.de
Я не могу найти недостатков в обработке почты Discourse здесь — если бы мне пришлось распределять ответственность, я бы, вероятно, начал с программного обеспечения рассылки, которое фактически добавляет пустое содержимое в начало. Это было бы лучше разместить в конце, после основного сообщения.
Это работало бы с gem Mail и выглядело бы лучше в почтовых клиентах — вот как это выглядит в Thunderbird при первоначальном получении:
и моя «исправленная» версия (test-fixed.eml.txt (14.3 KB))
с подписью рассылки внизу вместо верха:
Если вы хотите увидеть, что было бы выбрано для содержимого поста для конкретного IncomingEmail, вы можете выполнить следующее для проверки:
Email::Receiver.new(IncomingEmail.find(INCOMING_EMAIL_ID).raw).select_body