java - 如何将 HTML 链接放入电子邮件正文中?

标签 java html email hyperlink

我有一个可以发送邮件的应用程序,它是用 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/

相关文章:

c# - 使用给定的起点和终点从 html 中分离出一段数据

javascript - 如何使用函数将数组添加到参数?

java - 需要在 java 项目上向用户发送电子邮件通知

java - 在Java中发送电子邮件将 '>'字符放在单词 "From"前面

java - 如何在Java中反序列化xml文件中的电子邮件列表?

java - 在 ListView 中为我自己的类创建一个 ArrayAdapter

html - "sidebar"似乎附加到 "main,"但我不确定如何/如何撤消

java - YouTube API v3 中的隐藏式字幕

java - 封装 Java 进程的最佳脚本语言?

java - 将文件对象转换为位图