一.邮箱设置
QQ邮箱设置:http://service.mail.qq.com/cgi-bin/help?id=28,
下面这些服务需要开启(需要设置邮箱独立密码):
二.applicationContext.xml配置
<bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <!-- 主机(QQ的smtp服务器) --> <property name="host" value="smtp.qq.com"/> <!-- 邮箱名 --> <property name="username" value="[email protected]"/> <!-- 独立密码 --> <property name="password" value="12345678"/> <property name="javaMailProperties"> <props> <!-- 开启身份认证 --> <prop key="mail.smtp.auth">true</prop> <!-- 使用默认端口 --> <prop key="mail.smtp.starttls.enable">true</prop> <!-- 设置超时 --> <prop key="mail.smtp.timeout">25000</prop> </props> </property> </bean>
三.编写测试类
public class UserActionTest { private ApplicationContext ctx; @Before public void setUp() throws Exception { ctx = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); } @Test(timeout=10000) public void testExecute() { JavaMailSender sender = ctx.getBean("sender", JavaMailSender.class); System.out.println("测试发送邮件....."); MimeMessage message = sender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message); try { helper.setTo("[email protected]"); helper.setFrom("[email protected]"); helper.setSentDate(new Date()); helper.setSubject("你好!测试成功!"); helper.setText("北京时间:"+new Date()); sender.send(message); System.out.println("正在发送邮件...."); } catch (MessagingException e) { e.printStackTrace(); } } }
运行测试类,如果显示"正在发送邮件....",且to的邮箱收到邮件,表明测试成功!
我遇到的问题就是手动设置了port,导致服务器一直没有响应,port不用设置,服务器会使用默认端口。
时间: 2024-12-16 11:19:39