Отключение ссылок при пересылке электронной почты - PullRequest
0 голосов
/ 14 февраля 2020

Я отправляю электронные письма пользователям, которые содержат ссылку для одноразовой аутентификации. Я пытаюсь разработать функцию, с помощью которой, если пользователь перенаправляет письмо другому пользователю, ссылки должны быть отключены.

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

<style type="text/css">

blockquote .original-only, .WordSection1 .original-only {

display: none !important;

}

</style>

<p class="original-only">

Content to be hidden <a href="">Unsubscribe.</a>

</p>

Есть ли лучший / стандартный способ добиться того же? Я бы предпочел, чтобы ссылка оставалась видимой, но, щелкнув по этой ссылке, пользователь попадет на мой веб-сайт, где я смогу проверить параметры URL-адреса, чтобы проверить, является ли электронная почта оригинальной или перенаправленной.

Ответы [ 2 ]

1 голос
/ 14 февраля 2020

Я не думаю, что это сработает, но по другой причине - Office 365 может сначала "проверить" ссылку, чтобы увидеть, не указывает ли она на что-то неблагоприятное. Ваш сервер зарегистрирует попадание, но оно не будет получено от пользователя.

0 голосов
/ 28 февраля 2020

Безошибочный путь вперед по сути невозможен, хотя вы можете сделать это с некоторым успехом на некоторых платформах. (Нет даже способа нацелить все почтовые клиенты по отдельности на прямую отправку - не говоря уже о пересылке!)

Что происходит, когда вы пересылаете электронное письмо, то оно будет повторно обработано, часто без сопровождающего встроенного CSS, на который вы полагаетесь (это зависит от почтового клиента).

Таким образом, ссылка на класс будет потеряна, и ваша ссылка теперь будет показывать после форварда:

<p class="original-only">
Content to be hidden <a href="">Unsubscribe.</a>
</p>

Более того, я вижу, что вы пытаетесь там сделать, предсказывая, что форвард добавит блочную цитату или такой стиль, как WordSection, но не все будут вести себя предсказуемо, или если они это сделают Вы не можете нацелиться на них. Например, Gmail добавит класс, который начинается с чего-то вроде «_m» (из памяти), но хотя CSS может предназначаться для этого с помощью селектора [attribute^="value"], большинство почтовых клиентов игнорируют этот «расширенный» CSS.

На самом деле вам может повезти, если поменять это:

<style type="text/css">
blockquote .original-only, .WordSection1 .original-only {
display: block !important;
}
</style>
<p class="original-only" style="display:none">
Content to be hidden <a href="">Unsubscribe.</a>
</p>

Я не проверял это, но если вы отправили это, скажем, в Gmail (заметив, что некоторые Gmail отличаются от других например, учетные записи IMAP / POP), которые поддерживают встроенный CSS, вы увидите ссылку для отмены подписки. Но переадресация может просто удалить встроенный CSS, и поэтому display:none сработает и скроет ссылку.

Однако, если вы отправите ему рабочий стол Outlook, который НЕ поддерживает встроенный CSS (что-либо в <style>...</style>), по умолчанию она будет скрывать ссылку для отмены подписки, а также скрывать ее при пересылке (вероятно).

Результаты, вероятно, будут повсеместными.

...