Защита участников от случайной отправки адреса электронной почты в личных сообщениях

Участник ответил на личное сообщение, которое я ему отправил, и очевидно сделал это напрямую через своего почтового провайдера.

Ниже его ответа было «…», которое открывало полный просмотр цепочки писем.


Это, разумеется, включало:

От: адрес электронной почты моего сообщества
Дата: пятница, 4 марта 2022 г.
Кому: адрес электронной почты участника :astonished: :warning:
Тема: что-то там

текст сообщения электронной почты

Есть ли способ предотвратить это?

Вы настроили ответ по электронной почте?

Совпадает ли ваш notification_email с адресом, с которого публикуются сообщения для всего сообщества?

Это давняя проблема, и мало что можно с ней сделать. Единственный способ не раскрывать свой адрес электронной почты при отправке личного сообщения по email — удалить его перед отправкой ответа. Различные почтовые клиенты обрабатывают это по-разному. В Gmail адрес отправителя, отвечающего на письмо, здесь не включается, но в других клиентах он может быть указан.

Вы можете попробовать следующие настройки администратора:

Возможно, мы могли бы скрыть адреса электронной почты, передаваемые через личные сообщения, но это может вызвать проблемы в тех случаях, когда вы обсуждаете с кем-то именно адреса электронной почты!

Итак, я расследовал проблему, при которой личные сообщения (ЛС), отправляемые по почте, раскрывали адреса электронной почты, и настройка «всегда показывать обрезанный контент» не помогала.

Три точки, показывающие остальную часть письма при нажатии, отображаются, когда:

  • это ЛС, или
  • включена настройка «всегда показывать обрезанный контент» (что, судя по всему, означает «показывать обрезанный контент также в сообщениях, не являющихся ЛС»)

код:

# добавляем скрытую часть только в сообщениях
if options[:elided].present? && (SiteSetting.always_show_trimmed_content || is_private_message)
  options[:raw] << Email::Receiver.elided_html(options[:elided])
  options[:elided] = ""
end

Мой вопрос:

  • каково обоснование того, что для ЛС это «всегда включено»? @zogstrip, вы в курсе?
  • и возможно ли изменить это так, чтобы у администраторов была возможность никогда не показывать обрезанный контент (и запретить доступ к «сырому» письму при нажатии на конверт)? С технической точки зрения это довольно просто, поэтому я не понимаю, почему этого еще нет.

Кажется, я хотел сохранить старое поведение, но не уверен, что это имеет смысл с учётом этой настройки. Это баланс: с одной стороны, можно раскрыть адреса электронной почты, с другой — обрезчик иногда удаляет важный контент.

Думаю, это нормально, но обрезчик не на 100% безопасен, когда речь идёт о «нераскрытии адресов электронной почты».

Примете ли вы pull request по этому вопросу?

Определённо :+1:

Спасибо @RGJ

Каким должно быть желаемое функциональное поведение?

  • Простой вариант: Просто уберите проверку на личные сообщения, чтобы при значении always show trimmed content равном false обрезанный контент никогда не отображался.
  • Сложный вариант: Перейдите к новому параметру сайта show trimmed content с опциями always, never и private messages.

Мне этот вариант нравится больше :+1:

Да, я тоже. Следующий и, надеюсь, последний вопрос: следует ли мигрировать значение false для параметра «всегда показывать обрезанный контент» в «личные сообщения» или в «никогда». Моя идея — перестраховаться и мигрировать его в «никогда».

Я наткнулся на эту тему, изучая настройки «Обрезать входящие письма» и «Всегда показывать обрезанный контент» и то, как они взаимодействуют.

Мне интересно, что стало с идеей, которая была поднята здесь. Она была отложена на потом или полностью заброшена..?