📄 htmlemailtest.java
字号:
tmpFile.deleteOnExit(); FileDataSource dataSource = new FileDataSource(tmpFile); // does embedding a datasource without a name fail? try { this.email.embed(dataSource, ""); fail("embedding with an empty string for a name should fail"); } catch (EmailException e) { // expected } // properly embed the datasource String cid = this.email.embed(dataSource, "testname"); // does embedding the same datasource under the same name return // the original cid? String sameCid = this.email.embed(dataSource, "testname"); assertEquals("didn't get same CID for embedding same datasource twice", cid, sameCid); // does embedding another datasource under the same name fail? File anotherFile = File.createTempFile("testEmbedDataSource2", "txt"); anotherFile.deleteOnExit(); FileDataSource anotherDS = new FileDataSource(anotherFile); try { this.email.embed(anotherDS, "testname"); } catch (EmailException e) { // expected } } /** * @throws EmailException when bad addresses and attachments are used * @throws IOException if creating a temp file, URL or sending fails */ public void testSend() throws EmailException, IOException { EmailAttachment attachment = new EmailAttachment(); File testFile = null; /** File to used to test file attachments (Must be valid) */ testFile = File.createTempFile("commons-email-testfile", ".txt"); testFile.deleteOnExit(); // ==================================================================== // Test Success // ==================================================================== this.getMailServer(); String strSubject = "Test HTML Send #1 Subject (w charset)"; this.email = new MockHtmlEmailConcrete(); this.email.setHostName(this.strTestMailServer); this.email.setSmtpPort(this.getMailServerPort()); this.email.setFrom(this.strTestMailFrom); this.email.addTo(this.strTestMailTo); /** File to used to test file attachmetns (Must be valid) */ attachment.setName("Test Attachment"); attachment.setDescription("Test Attachment Desc"); attachment.setPath(testFile.getAbsolutePath()); this.email.attach(attachment); this.email.setAuthentication(this.strTestUser, this.strTestPasswd); this.email.setCharset(Email.ISO_8859_1); this.email.setSubject(strSubject); URL url = new URL(EmailConfiguration.TEST_URL); String cid = this.email.embed(url, "Apache Logo"); String strHtmlMsg = "<html>The Apache logo - <img src=\"cid:" + cid + "\"><html>"; this.email.setHtmlMsg(strHtmlMsg); this.email.setTextMsg( "Your email client does not support HTML emails"); this.email.send(); this.fakeMailServer.stop(); // validate txt message validateSend( this.fakeMailServer, strSubject, this.email.getTextMsg(), this.email.getFromAddress(), this.email.getToList(), this.email.getCcList(), this.email.getBccList(), true); // validate html message validateSend( this.fakeMailServer, strSubject, this.email.getHtmlMsg(), this.email.getFromAddress(), this.email.getToList(), this.email.getCcList(), this.email.getBccList(), false); // validate attachment validateSend( this.fakeMailServer, strSubject, attachment.getName(), this.email.getFromAddress(), this.email.getToList(), this.email.getCcList(), this.email.getBccList(), false); this.getMailServer(); this.email = new MockHtmlEmailConcrete(); this.email.setHostName(this.strTestMailServer); this.email.setSmtpPort(this.getMailServerPort()); this.email.setFrom(this.strTestMailFrom); this.email.addTo(this.strTestMailTo); if (this.strTestUser != null && this.strTestPasswd != null) { this.email.setAuthentication( this.strTestUser, this.strTestPasswd); } strSubject = "Test HTML Send #1 Subject (wo charset)"; this.email.setSubject(strSubject); this.email.setTextMsg("Test message"); this.email.send(); this.fakeMailServer.stop(); // validate txt message validateSend( this.fakeMailServer, strSubject, this.email.getTextMsg(), this.email.getFromAddress(), this.email.getToList(), this.email.getCcList(), this.email.getBccList(), true); } /** * * @throws Exception Exception */ public void testSend2() throws Exception { // ==================================================================== // Test Success // ==================================================================== this.getMailServer(); this.email = new MockHtmlEmailConcrete(); this.email.setHostName(this.strTestMailServer); this.email.setSmtpPort(this.getMailServerPort()); this.email.setFrom(this.strTestMailFrom); this.email.addTo(this.strTestMailTo); if (this.strTestUser != null && this.strTestPasswd != null) { this.email.setAuthentication( this.strTestUser, this.strTestPasswd); } String strSubject = "Test HTML Send #2 Subject (wo charset)"; this.email.setSubject(strSubject); this.email.setMsg("Test txt msg"); this.email.send(); this.fakeMailServer.stop(); // validate txt message validateSend( this.fakeMailServer, strSubject, this.email.getTextMsg(), this.email.getFromAddress(), this.email.getToList(), this.email.getCcList(), this.email.getBccList(), true); // validate html message validateSend( this.fakeMailServer, strSubject, this.email.getHtmlMsg(), this.email.getFromAddress(), this.email.getToList(), this.email.getCcList(), this.email.getBccList(), false); this.getMailServer(); this.email = new MockHtmlEmailConcrete(); this.email.setHostName(this.strTestMailServer); this.email.setFrom(this.strTestMailFrom); this.email.setSmtpPort(this.getMailServerPort()); this.email.addTo(this.strTestMailTo); if (this.strTestUser != null && this.strTestPasswd != null) { this.email.setAuthentication( this.strTestUser, this.strTestPasswd); } strSubject = "Test HTML Send #2 Subject (w charset)"; this.email.setCharset(Email.ISO_8859_1); this.email.setSubject(strSubject); this.email.setMsg("Test txt msg"); this.email.send(); this.fakeMailServer.stop(); // validate txt message validateSend( this.fakeMailServer, strSubject, this.email.getTextMsg(), this.email.getFromAddress(), this.email.getToList(), this.email.getCcList(), this.email.getBccList(), true); // validate html message validateSend( this.fakeMailServer, strSubject, this.email.getHtmlMsg(), this.email.getFromAddress(), this.email.getToList(), this.email.getCcList(), this.email.getBccList(), false); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -