文章标题

SSM_Email(邮件发送)

前端js编写

function EmailOper() {

    //弹出发邮件的框框
    this.sendEmail = function(email) {

        var htmlStr = this.initHtml();
        $.layer({
            type : 1,
            title : '发送邮件',
            area : [ 'auto', 'auto' ],
            page : {
                html : htmlStr
            }
        });

        $("#sendAddress").val(email);

    }

    //发送邮件
    this.send = function() {

        var sendAddress = $("#sendAddress").val();

        if (!sendAddress) {
            var alerts = layer.alert("收件人必须填写", 5, function() {
                layer.close(alerts);
            });
            return null;
        }

        var title = $("#title").val();

        if (!title) {
            var alerts = layer.alert("邮件标题必须填写", 5, function() {
                layer.close(alerts);
            });
            return null;
        }

        var content = $("#content").val();

        if (!content) {
            var alerts = layer.alert("邮件内容必须填写", 5, function() {
                layer.close(alerts);
            });
            return null;
        }

        var param = new Object();
        param.sendAddress = sendAddress;
        param.title = title;
        param.content = content;

        $.ajax({
            url : "/SSMProject/user/sendMail",
            type : 'post',// 提交的方式
            data : param,
            success : function(msg) {
                var obj = jQuery.parseJSON(msg);
                if (true == obj.isSucess) {
                    var alerts = layer.alert("发送成功", 1, function() {
                        layer.close(alerts);
                        location.reload();// 刷新页面
                    });
                } else {
                    var alerts = layer.alert("发送失败", 5, function() {
                        layer.close(alerts);
                    });
                }
            }

        });

    }


    this.initHtml = function() {

        var htmlStr = "";
        htmlStr += '<div style="width:600px;" >';
        // htmlStr += '<div style=" line-height:30px; text-indent:10px;
        // margin-bottom:20px; background-color:#eee;
        // position:relative;">发送邮件</div>';
        htmlStr += '<div style="display:block; padding-bottom:20px;" align="center"  >';

        htmlStr += '<table border="0" >';

        htmlStr += '<tr>';
        htmlStr += '<td colspan="2">';
        htmlStr += '<span>收件人:</span>';
        htmlStr += '<input type="text"  id="sendAddress" readonly="readonly" style="width:480px;">';
        htmlStr += '</td>';
        htmlStr += '</tr>';

        htmlStr += '<tr>';
        htmlStr += '<td colspan="2">';
        htmlStr += '<span>标题:</span>';
        htmlStr += '<input type="text"  id="title"  style="width:480px;">';
        htmlStr += '</td>';
        htmlStr += '</tr>';

        htmlStr += '<tr>';
        htmlStr += '<td colspan="2">';
        htmlStr += '<span>内容:</span>';
        htmlStr += '<textarea type="text" rows="4" id="content" style="width:480px;"></textarea>';
        htmlStr += '</td>';
        htmlStr += '</tr>';

        htmlStr += '<tr><td colspan="2" align="center">';
        htmlStr += '<input  name="" type="button"  onclick="javascript:emailOper.send();" value="发送"  />';
        htmlStr += '</td></tr>';
        htmlStr += '</table>';
        htmlStr += '</div>';
        htmlStr += '</div>';

        return htmlStr;
    }
}

后台处理

@RequestMapping(method = RequestMethod.POST, value = "/sendMail")
    @ResponseBody
    public void sendMail(HttpServletRequest request,
            HttpServletResponse response) throws ParseException {
        Map<String, Object> retMap = new HashMap<String, Object>();

        try {       
            String sendAddress = request.getParameter("sendAddress");
            String title = request.getParameter("title");
            String content = request.getParameter("content");
            SendEmail.SendEmailInfoUser(sendAddress, title, content);
            retMap.put("isSucess", true);
        } catch (Exception e) {
            e.printStackTrace();
            retMap.put("isSucess", false);
        }

        Gson gson = new Gson();
        String resultJson = gson.toJson(retMap);
        this.flushResponse(response, resultJson);
    }




public static void SendEmailInfoUser(String sendAddress, String title, String content) throws Exception {
        Properties properties = new Properties();
        //设置服务器名称
        properties.setProperty("mail.host", "smtp.163.com");
        //设置邮件传输协议
        properties.setProperty("mail.transport.protocol", "smtp");
        //设置是否要验证服务器用户名和密码
        properties.setProperty("mail.smtp.auth", "true");
        // 创建客户端与邮箱服务器的Session对象( Session用于收集JavaMail运行过程中的环境信息)
        Session session = Session.getInstance(properties);
        // 通过session得到transport对象(发送邮件)
        Transport transport = session.getTransport();
        // 使用用户名密码连接上邮箱服务器,此处的密码需要到邮箱开启服务设置
        transport.connect("smtp.163.com", "111(邮箱名去掉后缀)", "111(授权码)");
        // 创建邮件
        Message message = createSimpleMail(session, sendAddress, title, content);
        // 发送邮件
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }

    private static Message createSimpleMail(Session session, String sendAddress, String title, String content) throws Exception{
        // 创建邮件对象
        MimeMessage message = new MimeMessage(session);
        // 指明邮件的发件人
        message.setFrom(new InternetAddress("111@163.com"));
        // 指明邮件的收件人
        message.setRecipient(Message.RecipientType.TO, new InternetAddress(sendAddress));
        // 邮件的标题
        message.setSubject(title);
        // 邮件的内容
        message.setContent(content, "text/html;charset=UTF-8");
        return message;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值