JavaMail API Mac Mail.app链接显示为x-msg:// number / ...在其他情况下,它是垃圾邮件,纯文本等

时间:2012-12-09 12:04:07

标签: java http email hyperlink javamail

我是JavaMail API的新手,我遇到了问题。我的发送完成了抛出Google API,我的代码是:

final String username = from;
    final String password = passwd;

    Properties props = new Properties();
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.port", "587");

    Session session = Session.getInstance(props, new javax.mail.Authenticator() {
        protected PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication(username, password);
        }
      });

    try {

        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));
        message.setSubject(subject);
        message.setContent(content, "text/html");


        Transport.send(message);

    } catch (MessagingException e) {
        throw new RuntimeException(e);
    }

我想将网页链接分配给内容变量(电子邮件正文)。 这将是验证用户有效性的验证电子邮件,因此它就像mywebsite.com/user/2341341341(生成数字)。 我尝试了很多组合 - http://mywebsite.com/user/2341341341 - http://wwww.mywebsite.com/user/2341341341 等等 在某些情况下,链接显示为蓝色并带下划线,在其他情况下,它是纯文本(在雅虎邮件中,在gmail中),而在其他情况下,MacOS中的Mail.app将其呈现为x-msg://234/mywebsite.com/user / 2341341341(它看起来像一个链接,但它没有重定向我的任何地方),在其他人gmail把电子邮件放入垃圾邮件......

我想要一个跨平台的解决方案,或点击此处或只是http://mywebsite.com/user/2341341341成为用户可以点击的链接

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

您是否使用正确的html标记添加指向html内容的链接?

有很多你无法控制邮件阅读器的行为方式。您无法控制他们认为是垃圾邮件的内容。您无法控制是否允许用户关注邮件中的链接。您所能做的就是格式化您的HTML文本并正确链接,并确保它不是垃圾邮件。