有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javascript在服务器端创建电子邮件草稿并在用户客户端打开

我想在服务器端生成电子邮件“草稿”,并在用户的电子邮件客户端中打开

用例是:生成一封包含收件人、主题和正文(文本/html)的“完整”电子邮件,然后在用户的电子邮件客户端(Outlook 365和iOS上的邮件)中打开,以便真正查看并单击“发送”-可能进行一些手动更改

我测试了两种方法:

  1. 要在服务器端生成一个EML字符串,请将该字符串发送给客户机,客户机将生成一个EML字符串。EML文件(javascript)并使用FileSaver下载。js。它在桌面上运行正常,但在iOS上的Safari中运行不太好(无法正确下载和打开文件)

    saveAs(new Blob([data.eml], {type: "message/rfc822 eml;charset=utf-8"}), "email.eml");
    
  2. 生成。EML文件服务器端,并将文件发送到客户端。这适用于桌面和Safari/iOS。不幸的是,邮件未显示为“草稿”状态,它看起来像用户邮箱中的已接收邮件,不可编辑

    private Message createMessage(String to, String subject, String body) { 
        MimeMessage message = new MimeMessage(Session.getInstance(System.getProperties()));
        message.setFlags(Flag.DRAFT, true);
        message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
        message.setContent(body, "text/html");
        message.setSubject(subject);
        return message;
    }
    

有人有过类似的经历吗?你是怎么解决的


共 (0) 个答案