记录:JavaMail小实例

来源:互联网 发布:网吧软件管理系统 编辑:程序博客网 时间:2024/06/15 22:22

java发送邮件简单实例,先把所需要相关javamail的包准备好。

实现代码如下:


/**
     * 
     * @param host    发送邮件服务器的IP
     * @param from    发送人地址
     * @param to    接收人地址
     * @param subject    邮件主题
     * @param htmltext    内容
     * @param senderUsername    发送人的账户
     * @param senderPassword    发送人的密码
     * mail.smtp.auth 是否需要身份验证 一般都是需要的
     */
    public static void sendMail(String host, String from, String to, String subject, String htmltext, 
            final String Username, final String Password){
        Properties props = System.getProperties();
        props.put("mail.smtp.host", host);
        props.put("mail.smtp.auth", "true");
        props.put("mail.debug", "true");//设置是否显示debug信息  true 会在控制台显示相关信息      
        //得到会话对象  
        Session session = Session.getDefaultInstance(props, new Authenticator() {
            @Override
            public PasswordAuthentication getPasswordAuthentication(){
                return new PasswordAuthentication(Username, Password);
            }
        });
        try {
        // 获取邮件对象    
            MimeMessage message = new MimeMessage(session);
            //设置发件人地址   
            message.setFrom(new InternetAddress(from));
            //设置多个收件人地址
String[] mailArray = to.split(";");
StringBuffer toList = new StringBuffer();  
    int length = mailArray.length;  
        if(to!=null && length <2){  
             toList.append(mailArray[0]);  
        }else{  
             for(int i=0;i<length;i++){  
                     toList.append(mailArray[i]);  
                     if(i!=(length-1)){  
                         toList.append(",");  
                     }  
             }  
        }
String toList1=toList.toString();
//String toList1=getMailList(to);
InternetAddress[] iaToList = new InternetAddress().parse(toList1);
message.addRecipients(RecipientType.TO,iaToList);
// 设置邮件的接收人地址--方法一 (选其一即可)
     // Address[] address = new Address[]{new InternetAddress("1234567@qq.com"),"...更多列表..."};
     // message.setReplyTo(addresses);
        
     // 设置邮件的接收人地址--方法二 (选其一即可)
     // 如果群发邮件,收件人较多,可另写一个方法用于专门循环遍历并设置接收人
     // message.addRecipient(Message.RecipientType.TO, new InternetAddress("123456@qq.com"));

// 发送日期
//message.setSentDate(new Date()); 
//设置邮件标题        
            message.setSubject(subject);
            
            //设置邮件内容    
            //message.setText(text);//text内容
            message.setContent(htmltext, "text/html;charset=utf-8");//实现发送html内容的邮件
            //得到邮差对象, 发送邮件 
            Transport.send(message);
        } catch (AddressException e) {
            e.printStackTrace();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
    }

原创粉丝点击