Я следил за этим руководство для настройки отправителя почты через spring-boot.
Я пытался добавить конфиденциальный режим через весеннюю загрузку, нет определенного метода, поскольку все поддерживаемые почтовые провайдеры не используют один и тот же метод, поэтому при использовании MimeMessage нет предопределенной функции.
Я попытался посмотреть заголовок почтового сообщения, которое было отправлено в «конфиденциальном режиме», поэтому, если бы они добавили настройку конфиденциального режима в заголовок, я бы установил заголовок что-то вроде
helper.getMimeMessage().setHeader("Confidential", "on");
helper.getMimeMessage().setHeader("expiry", "5y");
Но они не предоставляют его через заголовок
В целях наглядности я обращаюсь к комментарию Билла Шеннона, что совершенно правильно. Конфиденциальный режим Gmail предназначен для использования в Gmail. Если вы используете любой другой почтовый клиент для открытия «конфиденциальной электронной почты», он откроет новое окно, чтобы открыть сообщение в Gmail. Для получения дополнительной информации проверьте следующую ссылку https://support.google.com/mail/answer/7674059.
Я проверил список возможных вызовов API в Игровая площадка OAuth с областью действия:
https://mail.google.com/
что является самой большой областью для user.messages
(включая вызовы send
и modify
API), и я не смог увидеть ни вызовов, ни полей, связанных с составлением конфиденциальных сообщений. Ни какая-либо документация в файле Справочник по API.
Я проверил на своем домене и смог увидеть, что сообщения на стороне получателя имеют дополнительный заголовок X-Gm-Locker, который генерируется Gmail внутри.
Помните, что если вы хотите отправить сообщение с помощью этой функции, вам необходимо включить «Конфиденциальный режим» в Google Console https://support.google.com/a/answer/7684332?hl=ru.
TL;DR: Короче говоря, вы не можете отправлять сообщения в «Конфиденциальном режиме» через API Gmail. Что влияет на использование JavaMailSender.
Я тоже видел заголовок. Но заголовок доступен только тогда, когда сообщение отправлено на другой почтовый клиент. В Google нет следов конфиденциального режима в заголовке (3 точки > показать оригинал). Но ссылка, которой вы поделились support.google.com/a/answer/7684332?hl=ru , там в разделе Создать правило соответствия для блокировки входящих сообщений показано, что оно соответствует конфиденциальному режиму метаданных Gmail. Если это не отображается в заголовке (почта между одним и тем же доменом), то как можно фильтровать?
Нет, заголовок X-Gm-Locker будет добавлен независимо от почтового клиента, который вы используете, и именно так вы можете фильтровать эти сообщения по наличию этого заголовка. Мой тест состоял в отправке конфиденциального сообщения внутри и снаружи аккаунта из моего домена G Suite, а также изнутри, получателю с отключенной/без этой функции. Помните, что вы можете визуализировать необработанные данные любого электронного письма (совместимого с RFC) в любом почтовом клиенте (совместимом с RFC). Gmail не может сказать, как это сообщение будет отображаться на стороне получателя. (Вы можете увидеть это, нажав (Скачать оригинал)).
Тем не менее, пожалуйста, не стесняйтесь подавать запрос функции для этой функции, указывая ваш вариант использования и важность этой функции. issuetracker.google.com/issues/…
Насколько я понимаю, конфиденциальный режим реализован полностью в Gmail и не доступен приложениям за пределами Gmail. Приложение за пределами Gmail не может отправить сообщение в конфиденциальном режиме. Конфиденциальное сообщение, отправленное получателю за пределами Gmail, отображается как сообщение со ссылкой для просмотра содержимого в Gmail.