0
我的單元測試通過訛詐訛詐服務器無法接收郵件類的電子郵件
公共類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 = "[email protected]"; private static final String EMAIL_TO = "[email protected]"; 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的電子郵件服務器。
但是服務器不返回任何消息
我做錯了什麼。
我更改代碼,請審查
props.put(「mail.smtp.host」,「localhost」);如何將其更改爲特定的主機。 – 2015-04-16 10:47:09