Jor*_*.S. 10 java spring jakarta-mail character-encoding java-ee
我有一个注入了JavaMailSender的服务.我的服务配置它并发送邮件.我想拦截原始邮件以确保信息是正确的.我想在JUnit中做到这一点.
你们会怎么做?
@Service
public class MyServiceImpl {
@Autowired
private JavaMailSender _mailSender;
public void sendMail(String to, String body, String subject){
...
_mailSender.something
...
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用测试SMTP服务器,如Dumbster.请参阅以下示例:
@Test
public void sendSimpleEmailWithCC() {
// Runs a Dumbster simple SMTP server - default config
SimpleSmtpServer server = SimpleSmtpServer.start();
String from = "whoever@from.com";
String to = "whoever@to.com";
String messageText = "Good message";
String title = "Test message";
String cc = "whoever@cc.com";
Assert.assertTrue(mailSender
.sendEmail(from, to, cc, title, messageText));
server.stop();
Assert.assertTrue(server.getReceivedEmailSize() == 1);
Iterator emailIter = server.getReceivedEmail();
SmtpMessage email = (SmtpMessage) emailIter.next();
Assert.assertTrue(email.getHeaderValue("From").equals(from));
Assert.assertTrue(email.getHeaderValue("To").equals(to));
Assert.assertTrue(email.getHeaderValue("Cc").equals(cc));
Assert.assertTrue(email.getHeaderValue("Subject")
.equals("Test message"));
Assert.assertTrue(email.getBody().equals(messageText));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11340 次 |
| 最近记录: |