javamail maven配置_初学Maven小例子--使用greenmail测试邮件

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

4.0.0

com.maven.account

account-email

1.0-SNAPSHOT

Account Email

jar

http://maven.apache.org

UTF-8

2.5.6

org.springframework

spring-core

${springframework.version}

org.springframework

spring-beans

${springframework.version}

org.springframework

spring-context

${springframework.version}

org.springframework

spring-context-support

${springframework.version}

javax.mail

mail

1.4.1

com.icegreen

greenmail

1.3.1b

test

junit

junit

4.7

test

3、写接口AccountEmailService.java

package com.maven.account;

/**

* @Author:liuxb

* @Date: 2012-08-04

*/

public interface AccountEmailService

{

void sendMail(String to,String subject,String htmlText) throws Exception;

}

4、写实现类AccountEmailServiceImpl.java

package com.maven.account;

/**

* @Author:liuxb

* @Date: 2012-08-04

*/

import javax.mail.MessagingException;

import javax.mail.internet.MimeMessage;

import org.springframework.mail.javamail.JavaMailSender;

import org.springframework.mail.javamail.MimeMessageHelper;

public class AccountEmailServiceImpl implements AccountEmailService

{

private JavaMailSender javaMailSender;

private String systemEmail;

public void sendMail(String to,String subject,String htmlText) throws Exception{

try{

MimeMessage msg = javaMailSender.createMimeMessage();

MimeMessageHelper msgHelper = new MimeMessageHelper(msg);

msgHelper.setFrom(systemEmail);

msgHelper.setTo(to);

msgHelper.setSubject(subject);

msgHelper.setText(htmlText,true);

javaMailSender.send(msg);

}catch(MessagingException e){

e.printStackTrace();

}

}

public JavaMailSender getJavaMailSender(){

return javaMailSender;

}

public void setJavaMailSender(JavaMailSender javaMailSender){

this.javaMailSender = javaMailSender;

}

public String getSystemEmail(){

return systemEmail;

}

public void setSystemEmail(String systemEmail)

{

this.systemEmail = systemEmail;

}

}

5、在src目录下新建文件夹resources

6、在resources目录下建立spring配置文件account-email.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

${email.auth}

7、在resources目录下建立service.properties文件

email.protocol=smtp

email.host=localhost

email.port=25

email.username=test@maven.com

email.password=123456

email.auth=true

email.systemEmail=liuxb@maven.com

8、建立测试类AccountEmailServiceTest.java

package com.maven.account;

import static junit.framework.Assert.assertEquals;

import javax.mail.Message;

import org.junit.After;

import org.junit.Before;

import org.junit.Test;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.icegreen.greenmail.util.GreenMail;

import com.icegreen.greenmail.util.GreenMailUtil;

import com.icegreen.greenmail.util.ServerSetup;

//import junit.framework.Test;

//import junit.framework.TestCase;

//import junit.framework.TestSuite;

/**

* Unit test for simple App.

*/

public class AccountEmailServiceTest

{

private GreenMail greenMail;

@Before

public void startMailServer() throws Exception{

greenMail = new GreenMail(ServerSetup.SMTP);

greenMail.setUser("test@maven.com","123456");

greenMail.start();

}

@Test

public void testSendMail() throws Exception{

ApplicationContext ctx = new ClassPathXmlApplicationContext("account-email.xml");

AccountEmailService accountEmailService = (AccountEmailService)ctx.getBean("accountEmailService");

String subject = "Test Subject";

String htmlText = "

Test

";

accountEmailService.sendMail("test2@maven.com",subject,htmlText);

greenMail.waitForIncomingEmail(2000,1);

Message[] msgs = greenMail.getReceivedMessages();

System.out.println("msgs.length="+msgs.length);

System.out.println("subject="+msgs[0].getSubject());

System.out.println("htmlText="+GreenMailUtil.getBody(msgs[0]).trim());

assertEquals(1,msgs.length);

assertEquals(subject,msgs[0].getSubject());

assertEquals(htmlText,GreenMailUtil.getBody(msgs[0]).trim());

}

@After

public void stopMailServer() throws Exception{

greenMail.stop();

}

}

9、在项目根目录下使用命令mvn clean test进行测试。

输出如下:

10、使用命令mvn dependency:tree查看依赖树:

描述: 测试结果图1

大小: 82.6 KB

描述: 测试结果图2

大小: 89.6 KB

描述: 依赖树图片

大小: 65 KB

描述: 项目源码

下载次数: 150

0

2

分享到:

2012-08-05 01:08

浏览 15453

评论

为什么我的说权限不够无法启动服务啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值