问题标签 [greenmail]

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 回答
596 浏览

mail-server - Greenmail WebApp 服务器 API

我想将 greenmail 用作 webapp。java有没有办法在greenmail服务器上动态创建用户帐户?

javamail 不包含用于在邮件服务器上创建用户的 api。有没有我可以使用的休息或java代码中的任何东西来在greenmail服务器上动态创建用户帐户?

这里真的需要帮助。

谢谢!

0 投票
0 回答
834 浏览

testing - java.io.EOFException: 没有收到.发送附件greenmail测试时出错

我正在为我的处理邮件应用程序编写测试。我正在使用 greenmail 进行测试,当我发送 mime 多部分消息(html 或文本)时一切正常。但是当我尝试发送带有附件的消息时(因为我需要带有附件的消息来测试我的处理方法)。我收到此错误。知道为什么会这样吗?否则接收和发送电子邮件没有问题。

0 投票
0 回答
558 浏览

java - 从绿色邮件服务器 IMAP 获取时出现 FolderClosedException

我正在测试绿色邮件 api 并在尝试从绿色邮件服务器获取时收到以下错误,尽管服务器已正确启动。我正在使用绿色邮件 1.4.1、java 8、java 邮件 1.5.3。下面是我一直在执行的代码和我收到的异常。

0 投票
0 回答
676 浏览

jakarta-mail - 从虚拟绿色邮件 imap 服务器检索时出现 FloderClosedException

我创建了一个虚拟的绿色邮件服务器来模拟我的应用程序的邮箱。我的应用程序基本上连接到邮件服务器并根据某些标准检索新邮件。所以我使用绿色邮件为我的应用程序创建了一个虚拟邮件服务器。现在,当我启动我的绿色邮件,然后尝试连接到我的原始应用程序(正在测试的应用程序)由绿色邮件创建的邮箱时,应用程序能够连接到它并能够从绿色邮件中读取新邮件列表服务器,但是当我尝试读取获取的参数时,它会说-:

我在这里附上我的测试代码:-

0 投票
0 回答
962 浏览

java - 使用 GreenMail 进行 Java Spring 电子邮件测试

我正在为发送大量电子邮件的服务实施测试。作为测试工具,我选择了 GreenMail。

我正在做

但是,我收到了 2 条消息 - 两个收件人。我认为原因是基于 smtp 的发布而不是阅读。但是,如果使用 POP3,我根本不会收到任何消息。

那么如何获取特定用户的消息呢?

0 投票
1 回答
580 浏览

smtp - Greenmail 独立 smtp 服务器电子邮件错误

我在 root 模式下使用以下配置启动了一个独立的 Greenmail SMTP 服务器,以便我可以使用 25 端口,

我能够在端口 25 上连接到此邮件服务器并发送电子邮件(来自 telnet 以及 java 程序)而没有任何错误。

但是当我尝试查找我发送的电子邮件(使用 java 程序)时,它总是显示为 0。收到的电子邮件始终为零。

我不确定是否可以以这种方式将 Greenmail 用作独立服务器。

有人可以帮忙吗?

0 投票
2 回答
1110 浏览

mule - 如何将 smtps 消息发送到独立的 greenmail 服务器

我有一个 mule 流,需要将 smtps 消息发送到 greenmail 服务器。

mule 流使用带有配置密钥库和信任库的 smtps 连接器:

<smtps:connector name="SMTPS_Connector" validateConnections="true" doc:name="SMTP"> <smtps:tls-client path="${keystore.path}" storePassword="${keystore.password}"/> <smtps:tls-trust-store path="${truststore.path}" storePassword="${truststore.password}"/> </smtps:connector>

我的 greenmail 服务器是使用默认值启动的。

当我调用我的流程来发送电子邮件时,我会收到以下日志:

在骡子日志中:

错误 2017-03-17 19:33:38,106 [Default_HTTP_Connector.receiver.06] org.mule.exception.DefaultMessagingExceptionStrategy: ************************ ****************************************************** ****** 消息:无法连接到邮件传输。代码
:MULE_ERROR--2 -------------------------------------------------------- ------------------------------------------------ 异常堆栈为: 1. 未找到受信任的证书(sun.security .validator.ValidatorException)
sun.security.validator.SimpleValidator:396 (null) 2. sun.security.validator.ValidatorException: 未找到可信证书 (javax.net.ssl.SSLHandshakeException)
sun.security.ssl.Alerts:192 ( http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/net/ssl/SSLHandshakeException.html) 3. 无法连接到 SMTP 主机:localhost,端口:3465 (javax.mail.MessagingException) com.sun.mail.smtp.SMTPTransport:1706 ( http://java.sun.com/j2ee/sdk_1.3/ techdocs/api/javax/mail/MessagingException.html ) 4. 无法连接到邮件传输。(org.mule.api.endpoint.EndpointException)
org.mule.transport.email.SmtpMessageDispatcher:67 ( http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/endpoint/EndpointException .html) ------------------------------------------------- ------------------------------- 根异常堆栈跟踪:sun.security.validator.ValidatorException:在 sun 处未找到受信任的证书.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:396) 在 sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:134) 在 sun.security.validator.Validator.validate(Validator.java:260) +另外 3 个(设置调试级别日志记录或“-Dmule.verbose.exceptions=true”为所有内容)


在 Greenmail 服务器日志中:

错误 2017-03-17 19:33:38,086 [smtps:localhost:3465<-/127.0.0.1:27671] com.icegreen.greenmail.smtp.SmtpHandler: 意外错误处理连接,退出 = javax.net.ssl.SSLException :连接已关闭:javax.net.ssl.SSLHandshakeException:在 sun.security.ssl.AppInputStream.read(AppInputStream.java :92) 在 sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283) 在 sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325) 在 sun.nio.cs.StreamDecoder.read(StreamDecoder. java:177) 在 java.io.InputStreamReader.read(InputStreamReader.java:184) 在 java.io.BufferedReader.fill(BufferedReader.java:154) 在 java.io.BufferedReader.readLine(BufferedReader.java:317) 在java.io。com.icegreen.greenmail.smtp.SmtpConnection.receiveLine(SmtpConnection.java:57) 上 com.icegreen.greenmail.smtp.SmtpHandler.handleCommand(SmtpHandler.java:82) 上的 BufferedReader.readLine(BufferedReader.java:382) .icegreen.greenmail.smtp.SmtpHandler.run(SmtpHandler.java:56) at com.icegreen.greenmail.server.AbstractServer$1.run(AbstractServer.java:163) at java.lang.Thread.run(Thread.java: 745)原因:javax.net.ssl.SSLHandshakeException:在 sun.security.ssl.Alerts.getSSLException(Alerts.java: 154) 在 sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1991) 在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1098) 在 sun.security.ssl.SSLSocketImpl。performInitialHandshake(SSLSocketImpl.java:1344) 在 sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:721) 在 sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122) 在 sun.nio.cs.StreamEncoder .writeBytes(StreamEncoder.java:221) 在 sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) 在 sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) 在 sun.nio.cs。 StreamEncoder.flush(StreamEncoder.java:141) at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) at java.io.PrintWriter.flush(PrintWriter.java:320) at com.icegreen.greenmail.util.InternetPrintWriter .println(InternetPrintWriter.java:91) 在 com.icegreen.greenmail.util.InternetPrintWriter.println(InternetPrintWriter.java:196) 在 com.icegreen.greenmail.smtp.SmtpConnection.send(SmtpConnection.java:48) at com.icegreen.greenmail.smtp.SmtpHandler.sendGreetings(SmtpHandler.java:76) at com.icegreen.greenmail.smtp.SmtpHandler.run(SmtpHandler.java:53) ... 2 更多

似乎我需要在我的 Greenmail 服务器上指定一个密钥库,但我找不到这样做的方法。

我尝试在类路径中放置一个密码为“changeit”的greenmail.jks,但它在启动时给了我这个错误:

错误 2017-03-17 17:42:24,185 [smtps:localhost:3465] com.icegreen.greenmail.util.DummySSLServerSocketFactory:无法创建和初始化 SSL java.security.UnrecoverableKeyException:无法在 sun.security.provider 恢复密钥。在 sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:55) 在 sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:138) 在 java.security 的 KeyProtector.recover(KeyProtector.java:328) .KeyStore.getKey(KeyStore.java:804) 在 sun.security.ssl.SunX509KeyManagerImpl.(SunX509KeyManagerImpl.java:131) 在 sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:68) 在 javax.net .ssl.KeyManagerFactory.init(KeyManagerFactory.java:259) 在 com.icegreen.greenmail.util.DummySSLServerSocketFactory.(DummySSLServerSocketFactory.java:56) 在 com.icegreen.greenmail.util.DummySSLServerSocketFactory.getDefault(DummySSLServerSocketFactory.java:87) 在 com.icegreen.greenmail.server.AbstractServer.openServerSocket(AbstractServer.java:63) 在 com.icegreen.greenmail.server.AbstractServer com.icegreen.greenmail.server.AbstractServer.run(AbstractServer.java:86) 处的 .initServerSocket(AbstractServer.java:115) 线程“smtps:localhost:3465”java.lang.IllegalStateException 中的异常:无法创建和初始化 SSL在 com.icegreen.greenmail.util.DummySSLServerSocketFactory.(DummySSLServerSocketFactory.java:65) 在 com.icegreen.greenmail.util.DummySSLServerSocketFactory.getDefault(DummySSLServerSocketFactory.java:87) 在 com.icegreen.greenmail.server.AbstractServer.openServerSocket( AbstractServer.java:63) 在 com.icegreen.greenmail。server.AbstractServer.initServerSocket(AbstractServer.java:115) at com.icegreen.greenmail.server.AbstractServer.run(AbstractServer.java:86) 原因:java.security.UnrecoverableKeyException:无法在 sun.security.provider 恢复密钥。在 sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:55) 在 sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:138) 在 java.security 的 KeyProtector.recover(KeyProtector.java:328) .KeyStore.getKey(KeyStore.java:804) 在 sun.security.ssl.SunX509KeyManagerImpl.(SunX509KeyManagerImpl.java:131) 在 sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:68) 在 javax.net .ssl.KeyManagerFactory.init(KeyManagerFactory.java:259) 在 com.icegreen.greenmail.util.DummySSLServerSocketFactory.(DummySSLServerSocketFactory.爪哇:56)

0 投票
0 回答
465 浏览

java - GreenMail 返回多个地址

利用 GreenMail 运行 JUnit 测试用例来进行一些基本的电子邮件验证。尝试验证RecipientType.TO时遇到问题。我的 JUnit 断言失败 - 所以我记录了消息头,看起来收件人实际上被设置了两次。

这是我正在运行的示例单元测试:

我注销了标头,发现它包含两个RecipientType.TO实例(Received、Message-ID、Date 字段混淆):

关于为什么To:看起来要设置两次的任何想法?

我发现不使用GreenMailUtil.getAddresList(),显式返回收件人并检查第一个元素是有效的,例如:

但我想尝试了解为什么 GreenMail 看起来要设置收件人地址两次。

干杯!

更新

上述问题是使用 GreenMail 版本 1.3.1b 运行的。根据@Roland Weisleder 的建议,更新到最新版本的 GreenMail (1.5.3) 并且相同的单元测试按预期运行,只设置一次收件人

0 投票
1 回答
243 浏览

java - 如何测试它.ozimov.springboot 的电子邮件?

我想通过使用来对发送消息进行单元测试it.ozimov.springboot.mail.service.EmailServicehttps://github.com/ozimov/spring-boot-email-tools 这是我的邮件服务:

我使用GreenMail进行了测试,但它不起作用:

结果我得到了这个:

有人可能知道我做错了什么?因为 MailService 在控制器中工作(它发送电子邮件),但测试不起作用。

0 投票
1 回答
1747 浏览

greenmail - 您如何查看发送到 greenmail 的电子邮件

我有一个使用骆驼发送电子邮件的应用程序。在我们的环境中设置了一个 greenmail 服务器。测试服务的测试人员需要能够查看发送的电子邮件,以验证 html 的格式是否正确。似乎没有一种明显的方法可以将浏览器指向 greenmail 服务器以查看电子邮件。注意,我们使用的是wildfly,而JMX 与wildfly 和dockers 是不可靠的。除了jmx还有什么?