Java SSM 实现邮件发送功能

Controller代码

    /**
     * 实现邮箱发送
     */
    @RequestMapping("/doMail")
    public void doMail(HttpServletRequest request, HttpServletResponse response)
            throws Exception, IOException {
        JsonReturn jsonReturn = new JsonReturn();
        jsonReturn.setState(false);
        String EmailName = request.getParameter("EmailName");// 发件人
        String EmailPassword = request.getParameter("EmailPassword");// 邮箱密码
        String Emails = request.getParameter("Emails");// 收件人
        String EmailPostbox = request.getParameter("EmailPostbox");// 主题标题
        String EmailContent = request.getParameter("EmailContent");// 邮件内容
        if (Emails == null || "".equals(Emails)) {
            return;
        }
        try {
            // 以;分割字符串
            String EmailsArray[] = Emails.split(";");
            Address addresses[] = new Address[EmailsArray.length];
            for (int i = 0; i < EmailsArray.length; i++) {
                Address address = new InternetAddress(EmailsArray[i]);
                addresses[i] = address;
            }

            // 设置发送邮件服务器
            Properties props = new Properties();
            props.put("mail.transport.protocol", "smtp");
            props.put("mail.host", "smtp.qq.com");
            props.put("mail.smtp.auth", "true");

            // 创建一个会话
            Session session = Session.getInstance(props);
            MimeMessage msg = new MimeMessage(session);

            // 发送邮件的邮箱地址
            Address sendFrom = new InternetAddress("");//写自己想发送的邮箱地址
            msg.setFrom(sendFrom);

            // 收件人
            msg.setRecipients(Message.RecipientType.TO, addresses);

            // 设置主题
            msg.setSubject(EmailPostbox);

            // 设置内容
            msg.setText(EmailContent);

            // 保存邮件
            msg.saveChanges();

            // 获取发送工具
            Transport ts = session.getTransport();

            // 连接发送邮件服务器
            ts.connect(EmailName, EmailPassword);

            // 发送邮件
            ts.sendMessage(msg, msg.getAllRecipients());
            jsonReturn.setMsg("发送成功");
            jsonReturn.setState(true);
            // 关闭连接
            ts.close();

        } catch (Exception e) {
            // 记录日志
            e.printStackTrace();
            jsonReturn.setMsg("发送失败");
        }

        PrintWriter writer = response.getWriter();
        JSONObject jsonObject = JSONObject.fromObject(jsonReturn);
        writer.write(jsonObject.toString());
        writer.flush();
        writer.close();

Jsp代码

 $("#btnFaSong").click(function () {
            var EmailName = $("#EmailName").val();
            var EmailPassword = $("#EmailPassword").val();
            var Emails = $("#Emails").val();
            var EmailPostbox = $("#EmailPostbox").val();
            var EmailContent = $("#EmailContent").val();
            if(EmailName!="" && EmailPassword !="" && Emails !="" && EmailPostbox !="" && EmailContent !=""){
                $("#FormMail").ajaxSubmit({
                    type : 'post',
                       url : "${ctx}/DataReport/doMail.do",
                       success : function(data) {
                    if((typeof data)=="string"){
                         data = JSON.parse(data);
                    }
                    if(data.state==true){
                        layer.alert(data.msg, {icon: 6});
                        QingKong();//清空
                        
                    }else{
                        layer.alert(data.msg, {icon: 5});
                     }
                   }
                });
            }
        });

要想实现此功能要去QQ邮箱设置----帐户那里开启POP3和SMTP服务

 

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值