问题标签 [apache-james]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
186 浏览

java - 如何在 Java 中创建模拟电子邮件服务?

我正在编写一个带有不同模拟服务(例如 HTTP、SFTP、Buckets、Email)的小型测试库。

当谈到电子邮件模拟服务时,我有一个思维障碍。我找到了Apace James 文档一篇文章,但我不知道如何将其调整到我的界面,并且使用 SMTP 服务器会令人困惑。

这个想法是创建一个实现,所以整个设置将在构造函数中,我只需要在设置和拆卸阶段启动和停止 Mock。

我如何使用 Apache James 服务来做到这一点?

我使用 Java 11、Spring Boot 和 JUnit 5。

0 投票
0 回答
74 浏览

james - 让 apache james 接受发往任何子域的传入邮件

我有一个 apache james 服务器,并在 domainlist.xml 中使用以下内容:

目前,如果我将邮件发送到这个地址为 a@foo.bar.com 的 james 服务器,则该邮件被接受。如果我向 a@baz.bar.com 发送内容,邮件将被拒绝。如果我添加了一个额外的域,如下所示:

发送至 a@baz.bar.com 的电子邮件被接受。我真正想要的是某种方式让 james 服务器只接受发送给 bar.com 的任何子域的邮件,尽管我也可以接受任何东西。

我检查了 fetchmail.xml 中的所有配置,并将除黑名单过滤器之外的所有内容的“拒绝”设置为“假”,但这不允许我的 a@baz.bar.com 电子邮件通过。

我正在运行默认配置,并在处理器链的头部添加了一个新类:

此 LogIncoming 只是将有关电子邮件的一堆详细信息打印到日志中,但当入站电子邮件的“收件人”域不在 domainlist.xml 中时,它不会被调用。

我认为对 DomainList 类进行自定义实现可能会起作用,但我希望可能存在允许通配符子域的东西。

0 投票
1 回答
195 浏览

spring-boot - 如何在 Spring Boot 中使用 Apache James 创建邮件服务器?

其实这个话题对我来说是新的。那么有人可以就这个话题提供建议吗?或者正确的工作路径。

必须创建自己的邮件服务器来处理测试邮件请求

例如 username@<company_name>.com

提前致谢。

0 投票
0 回答
22 浏览

spring - 无论如何要在添加之前拦截来自 james 服务器的电子邮件?

我们正在构建一个简单的电子邮件服务提供商,并且我们使用 Apache James 作为邮件服务器。我们想要对电子邮件进行分类并运行一些其他逻辑。但是,我们无法弄清楚当电子邮件进来时是否有任何方法可以做到这一点。或者是否有任何 webhook 可以在电子邮件进来时设置?

我们能想到的唯一选择就是每分钟左右运行一个调度程序并这样做,然后将该电子邮件发送给客户,但这可能不是最好的主意。

预先感谢您的帮助。

0 投票
1 回答
40 浏览

java - Apache James 中的嵌入式 Tomcat

我正在尝试通过添加一些 ad-hoc actuator来增强apache-james@RestController的 Spring 版本。
为了做到这一点,我正在考虑启动一个嵌入式 Tomcat 9.x 服务器作为 sidecar,以便可以访问端点。

不幸的是,我遇到了一个IllegalStateException: No ServletContext set例外。

我到目前为止的代码如下:

在主spring.xml文件中:

如果我从该main方法启动 Tomcat(例如,像这里一样),那么 Web 应用程序将按预期工作(至少是链接示例中的那个)。

我错过了什么?

0 投票
1 回答
53 浏览

java - 发送邮件时偶尔出现“系统找不到指定的路径”异常

我开发了一个使用 SMTP 将消息发送到本地 Apache James 服务器的应用程序。运行一次程序大约需要 3-10 分钟。我让程序连续运行了几个小时进行性能测试,这在 Ubuntu 上运行良好。但是,当我在 Windows 10 上运行该程序时,我会在大约 10 分钟后收到以下堆栈跟踪。2-3小时运行时间:

该问题发生在两个不同的 Windows 10 安装上,系统的防火墙已停止。和属性的编码send method如下所示。如果发生错误,该方法会连续调用 10 次,每次发送重试之间的等待时间为 30 秒,然后才会引发上述异常。与消息“系统找不到指定路径”的许多其他问题的不同之处在于,该错误仅在有时(2-3 小时)发生,并非总是发生。

您是否有任何暗示潜在问题可能是什么?任何帮助深表感谢!

0 投票
0 回答
42 浏览

java - Java Mail API Apache James 无效地址需要身份验证

我有一个 Apache James 服务器,我可以通过 IMAP 而不是 SMTP 使用 Java Mail API 连接到它。这是我得到的错误:

这就是我创建会话的方式

特性

连接代码

有任何想法吗?使用 Spring Boot 版本 2.5.4、Java 8 和 Apache James 的 dockerized 版本

谢谢

0 投票
0 回答
18 浏览

configuration - 配置 Apache James 以使用 DBFile 存储库

Apache James manaul 声明它支持 3 种类型的存储库,即 db、file 和 dbfile(在 conf/mailrepositorystore.xml 中配置。唯一的问题是它从未提及您如何选择使用这些协议中的哪一个。我可以将邮件存储到文件的唯一方法是在mailbox.xml中将“jpa”更改为“maildir”,但是标题不会保存到数据库中。它不允许dbfile,并且绝对没有任何示例它显示如何使用“dbfile”协议的来源。谁能告诉我如何使用 dbfile(我使用 Postgres 作为标题的数据库)。

0 投票
1 回答
58 浏览

cassandra - Apache James 与适用于 Cassandra 的 AWS Keyspaces

在此处输入图像描述

尝试将 Apache James 与 AWS Keyspaces 连接。詹姆斯能够连接,但几秒钟后出现上述错误失败。

在此处输入图像描述

根据堆栈跟踪,上述方法引发了异常。

任何帮助表示赞赏。谢谢,

0 投票
0 回答
37 浏览

java - Apache JAMES 邮件服务器不接收电子邮件

我正在使用 Thunderbird 作为我的电子邮件客户端运行 3.6.1 版本。我有默认端口(110 pop3 和 25 smtp)。我已经运行 james-cli 来配置具有两个用户的本地域,其步骤与此处描述的步骤类似。然后我从一个用户向另一个用户发送一封电子邮件。我可以看到 James 服务器正在处理的电子邮件,它显示了一条成功的假脱机消息:

当我的目标用户请求消息时,通过 STAT 操作,pop3 日志似乎很好,没有检索到电子邮件:

23-Jan-2022 00:39:13.211 DEBUG [pop3server-executor-738] org.apache.james.protocols.api.handler.CommandHandlerResultLogger.onResponse:36 - org.apache.james.protocols.pop3.core.StatCmdHandler: [+OK 0 0] 对我来说,这表明电子邮件从未进入该收件箱。我没有碰过配置,有没有我遗漏的配置?如果需要,我还有一些可以分享的日志

我也看到了类似的问题,但解决方案是在 3.6.1 版本中评论一些行,mailetcontainer.xml并且它们已经在我当前的 3.6.1 版本中进行了评论。