Это давняя проблема, и мало что можно с ней сделать. Единственный способ не раскрывать свой адрес электронной почты при отправке личного сообщения по 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% безопасен, когда речь идёт о «нераскрытии адресов электронной почты».
Каким должно быть желаемое функциональное поведение?
Простой вариант: Просто уберите проверку на личные сообщения, чтобы при значении always show trimmed content равном false обрезанный контент никогда не отображался.
Сложный вариант: Перейдите к новому параметру сайта show trimmed content с опциями always, never и private messages.
Да, я тоже. Следующий и, надеюсь, последний вопрос: следует ли мигрировать значение false для параметра «всегда показывать обрезанный контент» в «личные сообщения» или в «никогда». Моя идея — перестраховаться и мигрировать его в «никогда».