86 // 设置邮件消息的主题
87 mailMessage.setSubject(mailInfo.getSubject());
88 // 设置邮件消息发送的时间
89 mailMessage.setSentDate(new Date());
90 // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
91 Multipart mainPart = new MimeMultipart();
92 // 创建一个包含HTML内容的MimeBodyPart
93 BodyPart html = new MimeBodyPart();
94 // 设置HTML内容
95 html.setContent(mailInfo.getContent(), "text/html; charset=utf-8");
96 mainPart.addBodyPart(html);
97 // 将MiniMultipart对象设置为邮件内容
98 mailMessage.setContent(mainPart);
99 // 发送邮件
100 Transport.send(mailMessage);
101 return true;
102 } catch (MessagingException ex) {
103 ex.printStackTrace();
104 }
105 return false;
106 }
107 } 3.3 MyAuthenticator.java,需要根据自己的邮箱地址,发送的内容,发送地址,使用的服务器的SMTP网址改动
View Code
1 package src;
2
3 import javax.mail.*;
4
5 public class MyAuthenticator extends Authenticator{
6 String userName=null;
7 String password=null;
8
9 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
19 public static void main(String[] args){
20 //这个类主要是设置邮件
21 MailSenderInfo mailInfo = new MailSenderInfo();
22 mailInfo.setMailServerHost("smtp.qq.com");
23 mailInfo.setMailServerPort("25");
24 mailInfo.setValidate(true);
25 mailInfo.setUserName("1111111@qq.com"); //自己的邮箱
26 mailInfo.setPassword("QQ88888");//自己的邮箱密码,用于验证
27
28 mailInfo.setFromAddress("1111111@qq.com"); ///自己的邮箱
29 mailInfo.setToAddress("66666666@qq.com"); ///对方的邮箱
30 mailInfo.setSubject("设置邮箱标题");
31 mailInfo.setContent("设置邮箱内容");
32
33 //这个类主要来发送邮件
34 SimpleMailSender sms = new SimpleMailSender();
35 sms.sendTextMail(mailInfo);//发送文体格式
36 sms.sendHtmlMail(mailInfo);//发送html格式
37
38 }
39 }
40 4.使用注意情况
4.1 发送方的邮箱(自己的)必须与程序中使用的服务器的SMTP是一致的。邮件接收方的邮件可以任意。
4.2 因为这只是最简单的邮件传输,不包附件,只有正文部分,并且只是负责邮件的发送,因此只需要SMTP(简单邮件传输协议)。当要读取邮件的时候就必须要使用POP3(邮局协议)。
4.3 程序发邮件可以减少大量的体力劳动。我们也要合理使用,不能捣乱,给其他人大量的发送重复邮件。例如,当用程序给一个邮箱发大量邮件时,可能会被相应的服务器认为是外界攻击。
我给自己的QQ邮箱,用上面的程序做了一个40次的发送循环。在我自己去QQ邮箱手动删除那些邮件的时候,QQ邮箱可能怀疑这是通过恶意程序发来的。下面是QQ邮箱的提示:

4.4 通过程序自己的邮件给多个邮箱发信息,应该能行吧,自己也没有尝试,没有那么多邮箱了。有兴趣的大家可以试试,呵呵。