| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
9年前发布

java发送邮件

      package dec;                import java.util.Properties;        import javax.mail.Message;        import javax.mail.MessagingException;        import javax.mail.Session;        import javax.mail.Transport;        import javax.mail.internet.AddressException;        import javax.mail.internet.InternetAddress;        import javax.mail.internet.MimeMessage;        /**        *         *         * <p>Title: Java发送邮件测试类 /p>        *        * <p>Description: 示例 业务类</p>        *        * <p>Copyright: Copyright (c) 2012</p>        *        *        * @author dml@2012-12-17        * @version 1.0        */                /****************************************************************        * 对QQ邮箱使用(对于其他的使用类似的你应该也会更改了) 首先把QQ邮箱的POP3 SMTP打开 首先确定你的网络正常、非代理        * 【确定你的QQ邮箱开启了SMTP】!!!! 如果没有开启,那么这样设置下 设置->账户 --在下面-- 把这个选上 [√]SMTP发信后保存到服务器        ****************************************************************/        public class JavaMail {                    // 设置服务器            private static String KEY_SMTP = "mail.smtp.host";            private static String VALUE_SMTP = "smtp.qq.com";            // 服务器验证            private static String KEY_PROPS = "mail.smtp.auth";            private static boolean VALUE_PROPS = true;            // 发件人用户名、密码            private String SEND_USER = "********@qq.com";            private String SEND_UNAME = "********";            private String SEND_PWD = "*******";            // 建立会话            private MimeMessage message;            private Session s;                    /*            * 初始化方法            */            public JavaMail() {                Properties props = System.getProperties();                props.setProperty(KEY_SMTP, VALUE_SMTP);                props.put(KEY_PROPS, VALUE_PROPS);                s = Session.getInstance(props);                /* s.setDebug(true);开启后有调试信息 */                message = new MimeMessage(s);            }                    /**            * 发送邮件            *             * @param headName            *            邮件头文件名            * @param sendHtml            *            邮件内容            * @param receiveUser            *            收件人地址            */            public void doSendHtmlEmail(String headName, String sendHtml,                    String receiveUser) {                try {                    // 发件人                    InternetAddress from = new InternetAddress(SEND_USER);                    message.setFrom(from);                    // 收件人                    InternetAddress to = new InternetAddress(receiveUser);                    message.setRecipient(Message.RecipientType.TO, to);                    // 邮件标题                    message.setSubject(headName);                    String content = sendHtml.toString();                    // 邮件内容,也可以使纯文本"text/plain"                    message.setContent(content, "text/html;charset=GBK");                    message.saveChanges();                    Transport transport = s.getTransport("smtp");                    // smtp验证,就是你用来发邮件的邮箱用户名密码                    transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD);                    // 发送                    transport.sendMessage(message, message.getAllRecipients());                    transport.close();                    System.out.println("send success!");                } catch (AddressException e) {                    // TODO Auto-generated catch block                    e.printStackTrace();                } catch (MessagingException e) {                    e.printStackTrace();                }            }                    public static void main(String[] args) {                JavaMail se = new JavaMail();                se.doSendHtmlEmail("邮件头文件名", "邮件内容", "*******@***.com");            }        }  

所需jar包只有一个, mail.jar


需要注意的是,执行程序前需要保证邮箱开启了SMTP,本例使用QQ邮箱进行测试