用Java或Javascript创建.msg文件[Email]?

时间:2013-06-20 00:07:08

标签: java email hyperlink outlook javamail

实际上,我想在我的网页上创建一个超链接。点击该超链接,它应该打开MS Outlook窗口发送电子邮件,其中将动态填充To,From和Subject字段。

到目前为止,我尝试使用Java Mail API并成功创建.eml文件。我在我的网页上创建了带有.eml文件的超链接。但它没有用MS Outlook打开,而是在浏览器中显示。所以我认为可能与.msg文件一起工作。但我不知道如何创建.msg文件。

这是创建.eml文件的代码:

public static void createMessage(String to, String from, String subject, String body, List<File> attachments) {
    try {
        Message message = new MimeMessage(Session.getInstance(System.getProperties()));
        message.setFrom(new InternetAddress(from));
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
        message.setSubject(subject);
        // create the message part 
        MimeBodyPart content = new MimeBodyPart();
        // fill message
        content.setText(body);
        Multipart multipart = new MimeMultipart();
        multipart.addBodyPart(content);
        // add attachments
        for(File file : attachments) {
            MimeBodyPart attachment = new MimeBodyPart();
            DataSource source = new FileDataSource(file);
            attachment.setDataHandler(new DataHandler(source));
            attachment.setFileName(file.getName());
            multipart.addBodyPart(attachment);
        }
        // integration
        message.setContent(multipart);
        // store file
        message.writeTo(new FileOutputStream(new File("c:/mail.eml")));
    } catch (MessagingException ex) {
        Logger.getLogger(Mailkit.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(Mailkit.class.getName()).log(Level.SEVERE, null, ex);
    }
}

所以请告诉我如何使用Java创建.msg文件,或者如果您知道其他任何方式来完成我的任务,请告诉我。

1 个答案:

答案 0 :(得分:0)

你不只是想要mailto link吗?您无法控制它打开的邮件客户端(毕竟,用户可能没有Outlook),还有一些其他功能问题,但听起来就像您正在寻找的那样。