先贴代码:
![ContractedBlock.gif](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![ExpandedBlockStart.gif](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.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 " );
}
}
}
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包。其他的包需要哪个就导入那个就好了。我这个发邮件功能只是一个附属功能。所以包含的包就不列出来了。