9.14 凌晨哦 javaMail发送邮件

本文介绍了使用JavaMail发送邮件的基本步骤,并提供了代码示例。同时,解决在运行过程中可能出现的NoClassDefFoundError错误的方法。重点强调了JavaEE5中的基础包与第三方邮件相关包的整合与使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先需要3个包:

 

不仅要添加commons-email-1.1.jar,还需要两个额外的包mail.jar,activation.jar!

 

这呢,我给出了一个javaMail包的集合。。里面有很多我们关于mail发送的相关包~这里包括以上3个~!

 

 javamail 包的集合.rar   给你们个下载路径:http://download.youkuaiyun.com/source/1660662

 

导入这3个包:

 

 

代码基本如下:

----------------------------------

import java.io.UnsupportedEncodingException;
import javax.activation.DataHandler;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
/**
* 发送邮件测试通过
*
* @author He Jianfei
*/
public class JavaMail {
private String host;
private String from;
private String to;
private String subject;
private String content;
private boolean authentication;
private String username;
private String password;
public static void main(String[] args) throws EmailException {
SimpleEmail email = new SimpleEmail();
//设置发送主机的服务器地址
email.setHostName("smtp.126.com");
//设置收件人邮箱
email.addTo("vanadiumlin@gmail.com", "dddd");
//发件人邮箱
email.setFrom("vanadiumlin@126.com", "dddd");
//如果要求身份验证,设置用户名、密码,分别为发件人在邮件服务器上注册的用户名和密码
email.setAuthentication("vanadiumlin", "000");
//设置邮件的主题
email.setSubject("系统密码重置");
  
String body = "用户:    密码:";


      //邮件正文消息
email.setContent(body, "text/plain;charset=gbk");   

email.send();
System.out.println("The SimpleEmail send sucessful!!!");
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public boolean isAuthentication() {
return authentication;
}
public void setAuthentication(boolean authentication) {
this.authentication = authentication;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

--------------------------------------------------------------------

若是运行后出现这样的错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
当出现以上错误时,恭喜您已经离接收邮件不远了,否则请您解决好所有的异常后再来看这个帖子。

 

javax.mail和javax.activation这两个包已经在javaEE5当中属于基础包了,就是JDK中自带了已经,但是里面的方法与现在外面的mail.jar和activation.jar有一些出入,所以初学者在直接copy别人代码的时候往往会出现上面的错误。

 

如果解决了请顶一下
废话不多说下面是解决方法
进到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(我的javaee.jar里,这两个东西是文件夹,总之删掉就OK,不过要注意备份一下)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值