我通过 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 上测试电子邮件服务器。
但是服务器没有返回任何消息
我做错了什么。
我更改代码请检查它
问问题
1380 次