2009-10-06 2 views
10

Мое веб-приложение отправляет письма пользователям. Электронная почта содержит ссылку для дальнейшего действия пользователя. Наши стандарты безопасности требуют, чтобы ссылка в электронной почте не была доступна для кликов. Тем не менее, почтовые клиенты распознают https: // в письме и автоматически связывают URL.Остановить авто-гиперссылку в Outlook, Gmail и т. Д.

Любая идея о том, как остановить автоответчики электронной почты. Я думаю, если я пропущу https: //, это может остановить автоматическое связывание. Но, если мне нужно сохранить https: // есть ли способ избежать автоматической привязки.

Ссылка в электронном письме динамически построена в коде C#.

+3

Thats действительно тупой стандарт безопасности. Риск нажатия на ссылку в электронной почте точно такой же, как копирование вставки ссылки из письма в браузер. Это безопасность с помощью неудобств, которые не являются безопасностью. – abelenky

+2

@abelenky Нет. Вы можете случайно щелкнуть ссылку. Вы не можете случайно скопировать и вставить ссылку из электронной почты в браузер и нажать Enter. – djechlin

ответ

1

Замените фактический текст маленьким GIF-изображением, которое выглядит как текст.

Анализаторы электронной почты не распознают текст внутри изображения.

+1

+1, хотя большинство почтовых клиентов в настоящее время не разрешают отображение изображений внутри электронных писем, если только пользователь не разрешает их. –

1

Мое приложение имеет аналогичное требование безопасности. Решение, которое мы использовали, заключалось в том, чтобы добавить подчеркивание к началу URL-адреса (_http: //).

1

Обнаружив вопрос, я знаю, но это актуально ... Я хотел бы представить разумный сценарий, когда автоссылка Gmail (по крайней мере, не протестировала других клиентов) не имеет смысла.

Клиент имеет форму заявки на своем сайте, где посетители заполняют личную информацию и отправляют ее. Затем система отправляет клиенту уведомление клиенту, представляя информацию, предоставленную посетителем.

Я хочу увеличить адрес электронной почты, отправленный клиенту, добавив < textarea> внизу, с полями, заполненными посетителем, представленными в формате CSV, чтобы клиент мог просто скопировать его и вставить в него таблицу.

Gmail, однако, не в состоянии признать, что URL-адрес и адрес электронной почты внутри тега < TEXTAREA> и "услужливо" добавляет < A HREF = "..."> ... </а> код ссылки вокруг URL/email - внутри < textarea>. Это приводит к необработанному HTML-коду, отображающемуся в текстовом поле <.

17

Я знаю, что эта ветка устарела, но у меня была эта проблема сама, и я не был в восторге от исправления изображения gif. Если вы работаете с электронными письмами HTML, немного более приятным решением является разбить текст ссылки с тегом без рендеринга, который обманывает парсер. Я поклонник простого несуществующих < г >:

 
    https<z>://securesite.</z>com 

Он работает даже в сообщениях переполнения стека: https://securesite.com.

Надеюсь, это поможет кому-то.

4

Просто создайте простой <span> тег вокруг толстой кишки (<span>:</span>) или что-то в этом роде :)

1

Извините, ворошить старый вопрос, но я просто попытался ответ, предложенный pieman72, и обнаружил, что он Ждет» т в Outlook 2007-2013.Тем не менее, упаковка отдельных элементов URL в ячейках таблицы сделал глупец анализатор Outlook:

Visit <table><tr><td>www.</td><td>website</td><td>.com</td></tr></table> for more information.

Я побежал сообщение образца через Email On Acid тестов и обнаружили, что он ускользает синтаксический всех основных e- которые автоматически конвертируют URL-адреса (Outlook, iOS, Android 2.2 и т. д.). Я не выполнял никаких тестов на доступность.

5

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

В адрес электронной почты отправлено, что не имеет изображения, заголовок имеет имя домена в нем: EXTRANET.EXAMPLE.COM

Я даже поставить встроенные стили, чтобы убедиться, что он остается белым на черном фоне: <span style="font-size: 1.5em;padding: 0.5em 0;text-transform: uppercase; font-weight:bold;color:#FFFFFF;text-decoration:none;">EXTRANET.EXAMPLE.COM</span>

Gmail делает это ссылкой, добавляет подчеркивание, а также превращает его в ярко-синий цвет вместо предполагаемого белого.

Сначала я попытался заменить точки &#46;, которые заставляли его выглядеть нормально, но не обманули парсер Gmail.

Итак, я добавил составное пространство, которое работает нормально (т.е. он дурачит парсер в Gmail):

<span style="font-size: 1.5em;padding: 0.5em 0;text-transform: uppercase; font-weight:bold;color:#FFFFFF;text-decoration:none;">EXTRANET<span style="font-size:0.1em">&nbsp;</span>.<span style="font-size:0.1em">&nbsp;</span>EXAMPLE<span style="font-size:0.1em">&nbsp;</span>.<span style="font-size:0.1em">&nbsp;</span>COM</span>

+0

Этот подход (размещение узких неразрывных пробелов вокруг пунктуации) должен приниматься как «правильный» ответ. Он работает для Gmail и Mail.app. Я помещаю «правильные» в кавычки, потому что поведение этих клиентских приложений требует отвратительного взлома. :-) – sheldonh

+0

согласился на @sheldonh, работает как шарм. – littlealien

0

@raugfer предлагает в another answer: обернуть почты/URL с якорем.

<a name="myname">[email protected]</a> 

Цитирование из этого ответа:

Поскольку текст уже завернутые в гиперссылке, Gmail дает и оставить его в покое. :)

(Примечание: также работал для почтового клиента Apple.)

0

Это то, что я сделал: ""

  • Заменить все экземпляры с <span style=""color:transparent; font-size:0px;"">[{</span>.<span style=""color:transparent; font-size:0px;"">}]</span>
  • Заменить все экземпляры «@» с <span style=""color:transparent; font-size:0px;"">[{</span>@<span style=""color:transparent; font-size:0px;"">}]</span>

Эти символы остановили его разборе ссылки и адреса электронной почты, но не видны пользователю. Отрицательным является то, что при копировании и вставке письма, например, вы получаете: «test1 {[{.}]} Домен {[{.}]} Com"

.

Смежные вопросы