我正在尝试发送带有附件的电子邮件,而不使用第 3 方邮件服务器(如 smtp.gmail.com)。
基础/准备
在这个线程中,我按照建议先构造 MimeMessage,然后通过myMailQue.queMail(msg);
.
它在测试包中工作正常。我在终端上得到以下输出:
Jul 31, 2015 2:28:00 PM Aspirin run
INFORMATION: QueManager.run(): QueManager started.
Jul 31, 2015 2:28:01 PM Aspirin run
INFORMATION: RemoteDelivery (RemoteDelivery-1).run(): Try to give back RemoteDelivery object into the pool.
邮件在几秒钟后到达。
问题
当我尝试在我的 OSGi 框架 (felix) 中使用它时,不会发送任何邮件。没有任何异常或任何其他信息打印,即使是上面提到的输出!
我找不到 aspirin-jar 的捆绑版本,所以我自己用 bnd 转换了它。像这样:
java -jar bnd-2.1.0.jar wrap jar/aspirin-0.8.3.jar
我的测试
在我的捆绑文件夹中使用转换后的 jar,没有接线包问题,所以它应该可以工作吗?问题示例:
Unresolved constraint in bundle edu.hm.ee.hem.validation [5]: Unable to resolve 5.0: missing requirement [5.0] osgi.wiring.package; (osgi.wiring.package=org.masukomi.aspirin.core)
我调用queMail(msg)
的代码能够调用阿司匹林包的其他方法。例如,我在myMailQue.getQueueSize()
前后调用一次函数queMail(msg)
。结果是 0 和 1,这很有意义(imo)。
我对这种设置不起作用感到非常困惑,尤其是没有任何异常的情况下,很难理解出了什么问题
所以我认为我的测试包和框架之间的唯一区别是转换后的 jar。有谁知道我该如何解决这个问题?
非常感谢您提前
PS这是我在这里的第一个问题(我已经阅读了很多;)所以如果我遗漏了任何重要信息或者我的问题的格式难以理解,请给我一个提示。