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 [email protected]  
     * @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 = "[email protected]";   
        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邮箱进行测试

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/10264.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论