Не удается добавить свойство hover в пользовательскую HTML-почту - PullRequest
0 голосов
/ 20 февраля 2019

Я пытаюсь сделать эффект наведения на: <a href... класс.
У меня есть 2 <a href, одна - стандартная ссылка, а другая - кнопка.

.btnMail:hover #btn:hover

Это работает в GMAIL, но не в Outlook Web.Единственный способ получить эффект hover для работы с outlook - это просто a:hover, но это влияет на все теги <a.

MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, false, "utf-8");

String htmlMsg = ""
        + "<style type=\"text/css\">" +

        "  .btnMail {\r\n" + 
        "  background-color: #007bff;\r\n" +
        "  cursor: pointer;\r\n" + 
        "  border: none;\r\n" +
        "  border-radius: 4px;\r\n" + 
        "  text-decoration: none;\r\n" + 
        "  text-decoration-color: white !important;" + 
        "  color: white !important;\r\n" + 
        "  padding: 15px 32px;\r\n" + 
        "  text-align: center;\r\n" +
        "  display: inline-block;\r\n" + 
        "  font-size: 18px;\r\n" +
        "  }\r\n" +

        "  .btnMail:hover{\r\n" +
        "  background-color: #0069d9 !important;\r\n" +
        "  }\r\n"

        + "</style>"
        + "<div style=\"width:100%;height:100%;\">"
        + "<div style=\"margin-left:auto;margin-right:auto;width:550px;\">"
        + "<h3>" + messages.getMessage("mail.reset", null, locale) + "</h3>"
        + "<div>" + messages.getMessage("mail.hello", null, locale) + " " + restoreUser.getUsername() + ", <br><br>"
        + messages.getMessage("mail.body", null, locale) + "</div><br>"

        + "<a id=\"btn\" class=\"btnMail\" style=\"cursor: pointer;\" href=\"" + tokenLink +"\">"

        + messages.getMessage("mail.button", null, locale) + "</a><br>"
        + "<div>" + messages.getMessage("mail.validtime", null, locale) + "<br><br>"
        + messages.getMessage("mail.thanks", null, locale) + "<br>"
        + messages.getMessage("header.companyname", null, locale) +"</div>"
        + "<br>"
        + "<hr/>"
        + "<div style=\"font-size:12px;\">" + messages.getMessage("mail.link", null, locale) +"<br>"

        + "<a href=\"" + tokenLink +" \">" + tokenLink +"</a></div>"

        + "</div>"
        + "</div>"
        + "";

mimeMessage.setContent(htmlMsg, "text/html");

https://gyazo.com/e8f3a7105b66e6da61ed957e2437cc4d

1 Ответ

0 голосов
/ 20 февраля 2019

Есть много элементов CSS, которые не очень хорошо работают в почтовых клиентах.Ховер один, если элементы без широкой поддержки.Этот элемент вместе с информацией о поддержке для других можно найти здесь , среди других ресурсов.

Что касается вашего html в вашем примере.Имейте в виду, что многие спам-фильтры ищут плохой синтаксис HTML как признак спам-контента.Вы должны рассмотреть возможность добавления тегов html, head и body к вашему сообщению.

...