javamail发送邮件的简单实例(三)

2014-11-24 08:32:01 · 作者: · 浏览: 5
tent(mailInfo.getContent(), "text/html; charset=utf-8");
096
mainPart.addBodyPart(html);
097
// 将MiniMultipart对象设置为邮件内容
098
mailMessage.setContent(mainPart);
099
// 发送邮件
100
Transport.send(mailMessage);
101
return true;
102
} catch (MessagingException ex) {
103
ex.printStackTrace();
104
}
105
return false;
106
}
107
}
第三个类:MyAuthenticator.java
01
package com.util.mail;
02

03
import javax.mail.*;
04

05
public class MyAuthenticator extends Authenticator{
06
String userName=null;
07
String password=null;
08

09
public MyAuthenticator(){
10
}
11
public MyAuthenticator(String username, String password) {
12
this.userName = username;
13
this.password = password;
14
}
15
protected PasswordAuthentication getPasswordAuthentication(){
16
return new PasswordAuthentication(userName, password);
17
}
18
}
下面给出使用上面三个类的代码:
01
public static void main(String[] args){
02
//这个类主要是设置邮件
03
MailSenderInfo mailInfo = new MailSenderInfo();
04
mailInfo.setMailServerHost("smtp.163.com");
05
mailInfo.setMailServerPort("25");
06
mailInfo.setValidate(true);
07
mailInfo.setUserName("han2000lei@163.com");
08
mailInfo.setPassword("**********");//您的邮箱密码
09
mailInfo.setFromAddress("han2000lei@163.com");
10
mailInfo.setToAddress("han2000lei@163.com");
11
mailInfo.setSubject("设置邮箱标题 如http://www.guihua.org 中国桂花网");
12
mailInfo.setContent("设置邮箱内容 如http://www.guihua.org 中国桂花网 是中国最大桂花网站==");
13
//这个类主要来发送邮件
14
SimpleMailSender sms = new SimpleMailSender();
15
sms.sendTextMail(mailInfo);//发送文体格式
16
sms.sendHtmlMail(mailInfo);//发送html格式
17
}
最后,给出朋友们几个注意的地方:
1、使用此代码你可以完成你的javamail的邮件发送功能。三个类缺一不可。
2、这三个类我打包是用的 com.util.mail包,如果不喜欢,你可以自己改,但三个类文件必须在同一个包中
3、不要使用你刚刚注册过的邮箱在程序中发邮件,如果你的163邮箱是刚注册不久,那你就不要使用 “smtp.163.com”。因为你发不出去。刚注册的邮箱是不会给你这种权限的,也就是你不能通过验证。要使用你经常用的邮箱,而且时间比较长的。
4、另一个问题就是 mailInfo.setMailServerHost("smtp.163.com");与 mailInfo.setFromAddress("www.2cto.com");这两句话。即如果你使用163smtp服务器,那么发送邮件地址就必须用163的邮箱,如果不的话,是不会发送成功的。
5、关于javamail验证错误的问题,网上的解释有很多,但我看见的只有一个。就是我的第三个类。你只要复制全了代码,我想是不会有问题的。
作者Quttap