Java Web自定义邮箱服务器,实现前端跨域访问

​目的:对项目进行实时监控,并把结果反馈发送到用户邮箱
原理:由于项目所在的服务器未连接网络,不能再后台进行邮件的发送,所以自己新建一个 邮箱服务,部署到一台联网服务器,然后在前台通过脚本对其访问,实现邮件发送。
代码:
邮箱服务部分:
新建javaweb项目mail
//1.先创建邮件的实体类,内容包括邮件接收者,邮件内容和邮件主题等
public class Mail implements Serializable {

            public static final String ENCODEING = "UTF-8";  

            private String host; // 服务器地址  

            private String sender; // 发件人的邮箱  

            private String receiver; // 收件人的邮箱  

            private String name; // 发件人昵称  

            private String username; // 账号  

            private String password; // 密码  

            private String subject; // 主题  

            private String message; // 信息(支持HTML)  

            ...省略构造器,构造方法等
        }
    //2.**编写邮件发送工具实现类MailUtil**
    ```
        public class MailUtil {  
                public boolean send(Mail mail) {  
                // 发送email  
                HtmlEmail email = new HtmlEmail();  
                try {  
                    // 这里是SMTP发送服务器的名字:163的如下:"smtp.163.com"  
                    email.setHostName(mail.getHost());  
                    // 字符编码集的设置  
                    email.setCharset(Mail.ENCODEING);  
                    // 收件人的邮箱  
                    email.addTo(mail.getReceiver());  
                    // 发送人的邮箱  
                    email.setFrom(mail.getSender(), mail.getName());  
                    // 如果需要认证信息的话,设置认证:用户名-密码。分别为发件人在邮件服务器上的注册名称和密码  
                    email.setAuthentication(mail.getUsername(), mail.getPassword());  
                   // System.out.println(mail.getUsername() + "-----" + mail.getPassword());
                    // 要发送的邮件主题  
                    email.setSubject(mail.getSubject());  
                    // 要发送的信息,由于使用了HtmlEmail,可以在邮件内容中使用HTML标签  
                    email.setMsg(mail.getMessage());  
                    // 发送  
                    email.send();  
                    return true;  
                } catch (EmailException e) {  
                    e.printStackTrace();  
                    return false;  
                }  
            }  
        }  
    ```
    //3.创建index.jsp,内容如下
        ```
        <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
        <%@ page language="java" import="model.*" %>
        <%
                      Mail mail = new Mail();
                      String receiver =  request.getParameter("receiver");
                      String msg =  request.getParameter("msg");
                      mail.setHost("**@**"); // 设置邮件服务器,如果不用163的,自己找找看相关的  
                      mail.setSender("**@**");  
                      mail.setReceiver("****@qq.com"); // 接收人  
                      mail.setUsername("**@**"); // 登录账号,一般都是和邮箱名一样吧  
                      mail.setPassword("*******"); // 发件人邮箱的登录密码  
                      mail.setSubject(msg);  //主题。可以添加到传过来的参数中
                      mail.setMessage(msg);  
                      new MailUtil().send(mail); 
        %>
        页面为空白页面。我们需要时就访问这个**/mail/index.jsp&receiver=&msg=即可,将此项目部署到联网服务器
        ```
    监控项目部分:
        //大体思路为:在后台进行数据的查询,将需要监控的部分查找出来;
                    设置字段标记已检测过的;
                    在前台进行后台调用,满足条件的进行邮件的发送(访问**/mail/index.jsp)。

你可能感兴趣的:(javaweb,java,web,邮件)