java实现向邮件发送消息

  • 发送邮件的方法
     /**
         * 发送邮件
         * @param user 发件人邮箱
         * @param password 授权码(注意不是邮箱登录密码)
         * @param host 
         * @param from 发件人
         * @param to 接收者邮箱
         * @param subject 邮件主题
         * @param content 邮件内容(可以是字符串也可以是HTML格式)
         * @return success 发送成功 failure 发送失败
         * @throws Exception
         */
        public static String sendMail(String user, String password, String host,
                String from, String to, String subject, String content) {
            if (to != null){
                try {
                Properties props = System.getProperties();
                props.put("mail.smtp.host", host);
                props.put("mail.smtp.auth", "true");
                MailAuthenticator auth = new MailAuthenticator();
                MailAuthenticator.USERNAME = user;
                MailAuthenticator.PASSWORD = password;
                Session session = Session.getInstance(props, auth);
                session.setDebug(true);
                    MimeMessage message = new MimeMessage(session);
                    message.setFrom(new InternetAddress(from));
                    if (!to.trim().equals("")){
                         message.addRecipient(Message.RecipientType.TO,
                                 new InternetAddress(to.trim()));
                    }
                    message.setSubject(subject);
                    MimeBodyPart mbp1 = new MimeBodyPart(); // 正文
                    mbp1.setContent(content, "text/html;charset=utf-8");
                    Multipart mp = new MimeMultipart(); // 整个邮件:正文+附件
                    mp.addBodyPart(mbp1);
                    // mp.addBodyPart(mbp2);
                    message.setContent(mp);
                    message.setSentDate(new Date());
                    message.saveChanges();
                    Transport.send(message);
                } catch (Exception e){
                    e.printStackTrace();
                    return "failure";
                }
                return "success";
            }else{            
                return "failure";
            }
posted @ 2020-11-25 09:58  过氧化氢  阅读(479)  评论(0编辑  收藏  举报