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

时间:2017-11-03 08:13:49

标签: javascript java ios email eml

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

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

我测试了两种方法:

  1. 要生成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;
    }
    
  3. 任何处于类似情况的人?你是怎么解决的?

0 个答案:

没有答案