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 @   过氧化氢  阅读(481)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示