我有一个可以发送邮件的应用程序,它是用 Java 实现的。我想在邮件中放置一个 HTML 链接,但该链接显示为普通字母,而不是 HTML 链接... 我该怎么做才能将 HTML 链接变成一个字符串?我需要特殊字符?非常感谢你
更新: 大家好!感谢 oyu 的回答!这是我的代码:
public static boolean sendMail(Properties props, String to, String from,
String password, String subject, String body)
{
try
{
MimeBodyPart mbp = new MimeBodyPart();
mbp.setContent(body, "text/html");
MimeMultipart multipart = new MimeMultipart();
multipart.addBodyPart(mbp);
// Preparamos la sesion
Session session = Session.getDefaultInstance(props);
// Construimos el mensaje
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.setContent(multipart);
message.addRecipient(
Message.RecipientType.TO,
new InternetAddress(to));
message.setSubject(subject);
message.setText(body);
// Lo enviamos.
Transport t = session.getTransport("smtp");
t.connect(from, password);
t.sendMessage(message, message.getAllRecipients());
// Cierre.
t.close();
return true;
}
catch (Exception e)
{
e.printStackTrace();
return false;
}
}
这里是正文字符串:
String link = "<a href=\"WWW.google.es\">ACTIVAR CUENTA</a>";
但在收到的消息中,链接显示为链接字符串,而不是 HTML 超链接!我不明白发生了什么......
有什么解决办法吗?
最佳答案
添加链接就像添加 <a href="..">text</a>
一样简单在字符串里面。您应该将您的电子邮件设置为支持 html(这取决于您使用的库),并且您不应该在发送之前转义您的电子邮件内容。
更新:因为您正在使用 java.mail
,你应该这样设置文本:
message.setText(body, "UTF-8", "html");
html
是 mime 子类型(这将导致 text/html
)。 setText(string)
使用的默认值方法是 plain
关于java - 如何将 HTML 链接放入电子邮件正文中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5492869/