1
 2import java.util.Date;
 3import java.util.Properties;
 4
 5import javax.mail.Authenticator;
 6import javax.mail.Message;
 7import javax.mail.MessagingException;
 8import javax.mail.PasswordAuthentication;
 9import javax.mail.Session;
10import javax.mail.Transport;
11import javax.mail.internet.AddressException;
12import javax.mail.internet.InternetAddress;
13import javax.mail.internet.MimeMessage;
14
15public class EmailUtils {
16
17    private static Properties props;
18
19    private static Session session;
20
21    // 初始化session
22    static {
23        props = System.getProperties();
24        props.put("mail.transport.protocol""stmp");// 设置邮件服务器的协议
25        props.put("mail.host""smtp.qq.com");// 设置邮件发送服务器地址,该地址由邮件服务供应商提供,这里以QQ邮箱为例
26        props.put("mail.smtp.auth""true");// 设置邮件发送服务器需要用户验证,即需要账号密码才能登录邮箱
27        session = Session.getInstance(props, new Authenticator() {// 通过配置获取一个会话,第二个参数为验证类
28                    @Override
29                    protected PasswordAuthentication getPasswordAuthentication() {
30                        return new PasswordAuthentication("your email acount",
31                                "your email password"); // 在这里指定登录邮件发送服务器的账号与密码
32                        // QQ邮箱的账号默认为 QQ号@qq.com 密码为QQ密码
33                    }

34                }
);
35        // session.setDebug(true); //设置是否为Debug模式,如果为Debug模式,将输出中间信息。
36    }

37
38    /**
39     * 发送邮件
40     * 
41     * @param emailTo
42     *            收件人信箱
43     * @param title
44     *            主题
45     * @param msgs
46     *            内容
47     */

48    public static void sendEmail(String emailTo, String title, String msgs) {
49        System.out.println(msgs);
50        Message msg = new MimeMessage(session); // 该类封装了邮件发送的内容
51        try {
52            // 设置发件人地址,可以是个假的!
53            msg.setFrom(new InternetAddress("bom1987120@qq.com"));
54            // 设置收件人
55            msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(
56                    emailTo, false));
57            // 设置主题
58            msg.setSubject(title);
59            // 设置内容
60            msg.setText(msgs);
61            // 设置邮件头
62            msg.setHeader("X-Mailer""www.dangdang.com");
63            // 设置发送时间
64            msg.setSentDate(new Date());
65
66            // 发送!
67            Transport.send(msg);
68
69            System.out.println("Mail was sent successfully.\n");
70        }
 catch (AddressException e) {
71            e.printStackTrace();
72        }
 catch (MessagingException e) {
73            e.printStackTrace();
74        }

75    }

76
77    //测试
78    public static void main(String[] argv) {
79        for (int i = 0; i < 1000; i++)
80            sendEmail("XXXX@qq.com""Java Mail 测试""这是程序自动给你发的!");
81    }

82
83}
posted on 2009-06-13 15:13 Bom Wu 阅读(678) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: