• 通过Greenmail进行电子邮件的我的单元测试班

    公共类GreenMailTest {

     private GreenMail greenMail; private EmailServiceImpl emailService = new EmailServiceImpl(); private MessageTemplateService messageTemplateService; private EmailProperties emailProperties; private Properties props; private static final String USER_PASSWORD = "abcdef123"; private static final String USER_NAME = "hascode"; private static final String EMAIL_USER_ADDRESS = "hascode@localhost"; private static final String EMAIL_TO = "someone@localhost.com"; private static final String EMAIL_SUBJECT = "Test E-Mail"; private static final String EMAIL_TEXT = "This is a test e-mail."; private static final String LOCALHOST = "localhost"; // private GreenMail mailServer; @Before public void testSmtpInit() { //ServerSetup setup = new ServerSetup(); greenMail = new GreenMail(ServerSetupTest.SMTP); greenMail.start(); messageTemplateService = mock(MessageTemplateService.class); emailProperties = mock(EmailProperties.class); emailService.setEmailProperties(emailProperties); } @Test public void testEmail() throws InterruptedException, IOException { greenMail.setUser(EMAIL_USER_ADDRESS, USER_NAME, USER_PASSWORD); // create the javax.mail stack with session, message and transport .. Properties props = System.getProperties(); props.put("mail.smtp.host", LOCALHOST); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", ServerSetupTest.SMTP.getPort()); Session session = Session.getInstance(props, null); Message msg = new MimeMessage(session); try { msg.setFrom(new InternetAddress(EMAIL_TO)); msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(EMAIL_USER_ADDRESS, false)); msg.setSubject(EMAIL_SUBJECT); msg.setText(EMAIL_TEXT); msg.setSentDate(new Date()); Transport t = session.getTransport("smtp"); t.connect(EMAIL_USER_ADDRESS, USER_PASSWORD); t.sendMessage(msg, msg.getAllRecipients()); // assertEquals("250 OK\\n", t.getLastServerResponse()); t.close(); } catch (MessagingException e) { // TODO Auto-generated catch block e.printStackTrace(); } // fetch messages from server MimeMessage[] messages = greenMail.getReceivedMessages(); 
  • 我使用此代码在junit上测试电子邮件服务器。

  • 但是服务器不返回任何消息

  • 我做错了。

  • 我更改了密码,请仔细阅读

#1楼 票数:1 已采纳

GreenMail在本地主机上运行。 相应地调整您的smtp主机:

props.put("mail.smtp.host", "localhost");

编辑

总结大量注释:另一个问题来自于mock-javamail在类路径中。

  ask by PRITAM MOHAPATRA translate from so

未解决问题?本站智能推荐:

1回复

带有Greenmail的Spring电子邮件:身份验证凭据无效

我正在尝试使用 Greenmail 为 Spring Email 编写测试代码。 这与 1.5.5 版本的 Greenmail 完美配合,但是当我尝试更新 Greenmail 的版本(1.5.6 到 1.5.11)时,它一直给我一个错误 535 5.7.8 身份验证凭据无效。 应用程序属性 这是我的
1回复

如何为CIServer随机分配greenmail中的端口

我想使用JUnit&Greenmail获得一个由greenmail使用的随机端口,而不是默认端口或具有偏移量的端口。 为此,我尝试使用ServerSocket(0)获得一个随机端口,并且greenmail的启动按设计工作。 但是,当我尝试在测试过程中发送邮件时,出现了异常“无法连接到端口30
2回复

测试已发送的电子邮件-Dumbster和greenmail无法捕获已发送的JavaMail

我正在尝试集成Dumbster来测试基于JavaMail的通知器是否有外发电子邮件。 电子邮件已发送,但在我的测试中,Dumbster没有收到它们。 我不确定是否需要其他配置才能完成此工作,但是在显示的dumbster主页上,它会自动侦听通过端口25上的smtp发送的邮件。 这是我们的J
1回复

如何测试it.ozimov.springboot电子邮件?

我想使用it.ozimov.springboot.mail.service.EmailService进行发送消息的单元测试。 https://github.com/ozimov/spring-boot-email-tools这是我的MailService: 我用GreenMail进行了测试
1回复

GreenMail-没有错误,但是没有收到消息

我正在尝试使用GreenMail来测试我的代码是否正确发送了电子邮件。 我将所有碎片都移动到一个位置,以便可以在此处压实并粘贴。 问题是GreenMail似乎没有收到电子邮件。 如果我用greenMail.getSmtps().createSession()替换方法调用Session.
1回复

无法访问GreenMail收到的电子邮件的属性

我正在尝试将GreenMail用作用于单元测试的模型邮件服务器。 它的工作是等待IMAP / POP3请求并发送虚拟邮件,但我无法使其正常工作。 没问题,到目前为止的输出是这样的: **类:类javax.mail.internet.MimeMessage ** 来自:someo
5回复

在不安装SMTP服务器的情况下测试Greenmail

我正在尝试使用Greenmail来测试我的localhost上的电子邮件功能。 问题是我没有安装SMTP服务器,并且认为安装一个SMTP服务器过度。 我的期望是应该有一个免费的库,允许我保持我的发送邮件代码相同,但不是真正发送电子邮件到SMTP服务器,发送到我的本地机器,以便我可以检索它们(
1回复

如何将.msg文件加载到GreenMail邮箱中

我想将.msg退回邮件示例加载到GreenMail模拟邮箱中进行测试。 我怎样才能做到这一点?