使用Spring 的SimpleMailMessage,JavaMailSenderImpl发送邮件

本文介绍如何使用Spring框架中的JavaMailSenderImpl组件发送电子邮件。提供了完整的代码示例,并解决了出现java.lang.NoClassDefFoundError异常的问题,通过调整Java EE 5环境下的库文件来确保程序正常运行。

先贴代码:

ContractedBlock.gifExpandedBlockStart.gif代码
package bookmark.model;

import java.util.Properties;

import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
public class SimpleEmail {
private String smtpHost;
private String from;
public void sendPassdEmail(String email,String username,String passwd){
JavaMailSenderImpl sender
=new JavaMailSenderImpl();
sender.setHost(getSmtpHost());
sender.setUsername(
"用户名");
sender.setPassword(
"用户密码");
sender.setJavaMailProperties(
new MailProperties());
SimpleMailMessage message
=new SimpleMailMessage();
message.setTo(email);
message.setFrom(getFrom());
message.setSubject(
"您的密码是:");
message.setText(username
+" 您好,您的密码是"+passwd);
sender.send(message);
}
public String getSmtpHost() {
return smtpHost;
}
public void setSmtpHost(String smtpHost) {
this.smtpHost = smtpHost;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public static void main(String args[]){
SimpleEmail mail
=new SimpleEmail();
mail.setFrom(
"struct029@163.com");
mail.setSmtpHost(
"smtp.163.com");
mail.sendPassdEmail(
"sun.jrvin@gmail.com", "sun", "adfa");
}
class MailProperties extends Properties{
private String auth;
public MailProperties(){
super.setProperty("mail.smtp.auth","true");
}
}
}

使用SPRING的javamail发送email很简单。看代码就知道了。

有时会出现java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream异常。

原因是:javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入。进到

X:\Program Files\MyEclipse 6.5\myeclipse\eclipse\plugins\com.genuitec.eclipse.j2eedt.core_6.5.0.zmyeclipse650200806\data\libraryset\EE_5

这个路径里,可以看到javaee.jar,用rar把这个文件打开,然后进到javax文件夹里,删除mail.jar和activation.jar。

删掉之后运行下面的代码,经行简单的修改以后就可以实现接收邮件的功能了!我已经测试过完全可行。我用的是javamail-1.4.3包。其他的包需要哪个就导入那个就好了。我这个发邮件功能只是一个附属功能。所以包含的包就不列出来了。

转载于:https://www.cnblogs.com/jrvin/archive/2010/12/16/1908378.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值