用Java或Javascript创建.msg文件[电子邮件]?

用Java或Javascript创建.msg文件[电子邮件]?,java,email,hyperlink,outlook,jakarta-mail,Java,Email,Hyperlink,Outlook,Jakarta Mail,实际上,我想在我的网页上创建一个超链接。单击该超链接后,它将打开MS Outlook发送电子邮件的窗口,其中的“收件人”、“发件人”和“主题”字段将动态填充 到目前为止,我尝试使用Java Mail API并成功地创建了.eml文件。我在网页上用该.eml文件创建了超链接。但它并没有用MS outlook打开,而是显示在浏览器中。因此,我认为使用.msg文件可能会起作用。但我不知道如何创建.msg文件 以下是创建.eml文件的代码: public static void createMessag

实际上,我想在我的网页上创建一个超链接。单击该超链接后,它将打开MS Outlook发送电子邮件的窗口,其中的“收件人”、“发件人”和“主题”字段将动态填充

到目前为止,我尝试使用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);
    }
}
publicstaticvoidcreatemessage(字符串收件人、字符串发件人、字符串主题、字符串正文、列表附件){
试一试{
Message Message=new mimessage(Session.getInstance(System.getProperties());
message.setFrom(新的InternetAddress(from));
setRecipients(message.RecipientType.TO,InternetAddress.parse(TO));
message.setSubject(主题);
//创建消息部分
MimeBodyPart内容=新的MimeBodyPart();
//填充消息
content.setText(正文);
Multipart Multipart=新的MimeMultipart();
multipart.addBodyPart(内容);
//添加附件
用于(文件:附件){
MimeBodyPart附件=新的MimeBodyPart();
DataSource source=新文件DataSource(文件);
附件.setDataHandler(新的DataHandler(源));
附件.setFileName(file.getName());
多部分添加车身部件(附件);
}
//整合
message.setContent(多部分);
//存储文件
message.writeTo(新文件outputstream(新文件(“c:/mail.eml”));
}捕获(消息例外){
Logger.getLogger(Mailkit.class.getName()).log(Level.SEVERE,null,ex);
}捕获(IOEX异常){
Logger.getLogger(Mailkit.class.getName()).log(Level.SEVERE,null,ex);
}
}

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

您不想要一个吗?您无法控制它在哪个邮件客户端打开(毕竟,用户可能没有Outlook),而且还有一些其他功能问题,但这听起来像是您在寻找的。

我遇到了这个问题。请提供帮助。对于那些希望在Outlook中而不是在浏览器中打开
.eml
文件链接的人。看起来它是依赖于客户端的。那么.msg文件呢?我发布该评论和链接是为了让其他人知道,试图使
.eml
文件正常工作可能是一个失败的原因,应该关注另一个解决方案,例如制作
.msg
文件。如何做到这一点,我一点也不知道。我正在公司的内部网上创建网页,这里每个人都有MS Outlook。如果我强制只在MS Outlook中打开链接,你的解决方案就行了。无论如何,谢谢你的回答。