【问题标题】:Alternatives to Java Mail APIJava Mail API 的替代方案
【发布时间】:2018-03-16 23:59:45
【问题描述】:

我正在尝试发送带有附件的电子邮件,但发现 java 邮件 API 的不足令人恼火。

javax.activation.DataHandler 只有两个实现,它要求我创建一个本地文件来发送附件。可能我必须编写自己的 DataHandler 实现,但此时我不想这样做。

提前致谢!

添加

编辑:我的意思是javax.activation.DataSource 不是javax.activation.DataHandler

【问题讨论】:

标签: java jakarta-mail


【解决方案1】:

Spring 提供了一个partial wrapper around the JavaMail API,让它更容易下咽。

例如,MimeMessageHelper 类允许您使用各种接口添加附件,including from a general InputStream source

JavaMail 的底层机制非常全面和强大,只是 API 很垃圾。这在很大程度上解决了这个问题。

【讨论】:

  • 是的,这几乎离家很近,如果你不介意 MB 价值的罐子。 !!
  • 在 Spring 3 中,邮件内容位于支持上下文的 JAR 中,连同它的依赖关系,将相对较小(当然不是 MB)
【解决方案2】:

您是否尝试过apache commons 来完成这项任务?
它有MultiPartEmail,其中有几个重载的attach 方法。

【讨论】:

  • 哦,谢谢!但是即使这个类也不会将字符串作为输入并将其作为附件发送!它必须来自文件或 URI。
【解决方案3】:

编写自定义数据源非常容易(一年前我为我们的一个应用程序组合了一个数据源,只用了不到一个小时)。如果这是您在使用 JavaMail 时遇到的唯一问题,我建议您试一试。

也就是说,我同意 JavaMail 对于最常见的用例来说绝对过于复杂。

【讨论】:

    猜你喜欢
    • 2012-07-07
    • 2011-01-27
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 2012-07-26
    • 2013-03-10
    • 2013-11-18
    • 1970-01-01
    相关资源
    最近更新 更多