Javamail и добавление ссылки на текст - PullRequest
4 голосов
/ 14 октября 2011

Я использую Javamail.В MimeMessage.setText я должен включить код, который кодирует текст в виде URL.Для целей, подобных приведенным ниже.

BodyPart messageBodyPart = new MimeBodyPart();

messageBodyPart.setText("Test\n" + text +"\nVisit Test.com");`

Для этого мне нужно встроить Test.com в качестве URL-адреса.Есть ли тег или шаблон, который бы это сделал?Спасибо.

В принципе, я бы предпочел не использовать html в javamail и использовать следующее.

Test.com

Ответы [ 2 ]

8 голосов
/ 14 октября 2011

Если вы хотите, чтобы ссылка была кликабельной в письме, вы должны отправить письмо в формате HTML.

Для этого вам следует попытаться создать сообщение MIME в формате HTML:

InternetHeaders headers = new InternetHeaders();
headers.addHeader("Content-type", "text/html; charset=UTF-8");
String html = "Test\n" + text + "\n<a href='http://test.com'>Test.com</a>";
MimeBodyPart body = new MimeBodyPart(headers, html.getBytes("UTF-8"));

РЕДАКТИРОВАТЬ:

Также можно использовать setText при отправке HTML-почты:

String html = "Test\n" + text + "\n<a href='http://test.com'>Test.com</a>";
messageBodyPart.setText(html, "UTF-8", "html");

См. API для более подробной информации

1 голос
/ 14 октября 2011

Для этого должно произойти несколько вещей.

  1. Отправьте ссылку в виде html
  2. Установите тип содержимого на text/html

String text = "Test\n" + text +"\nVisit <a href="http://test.com">Test.com</a>"; messageBodyPart.setContent(text, "text/html");

Из Часто задаваемые вопросы по JavaMail API

В: Как отправить сообщение в формате HTML? A: Естьколичество демонстрационных программ, включенных в дистрибутив, которые показывают, как отправлять почту в формате HTML.Если вы хотите отправить простое сообщение с HTML вместо обычного текста, см. Программу sendhtml.java в демонстрационном каталоге.Если вы хотите отправить HTML-файл как вложение, см. Пример sendfile.java , в котором показано, как отправить любой файл в виде вложения.

...