邮件发送简单实现

2019-11-12  本文已影响0人  Rain_z
开启邮箱POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,这里以网易163为例
截图

所需依赖

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.5</version>
</dependency>

业务代码

HtmlEmail email = new HtmlEmail();//创建一个HtmlEmail实例对象
email.setHostName("smtp.163.com");//邮箱的SMTP服务器,一般123邮箱的是smtp.123.com,qq邮箱为smtp.qq.com
email.setCharset("utf-8");//设置发送的字符类型
try {
    String nickname = "雨季";
    String VerifyCode = "45sf42";
    email.addTo("xxx@163.com");//设置收件人
    email.setFrom("xxx@163.com", "XXXX系统");//发送人的邮箱为自己的,用户名可以随便填
    email.setAuthentication("xxx@163.com", "xxx");//设置发送人到的邮箱和用户名和授权码(授权码是  自己设置的)
    email.setSubject("验证码");//设置发送主题
    String content = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width: 600px; border: 1px solid #ddd; border-radius: 3px; color: #555; font-family: 'Helvetica Neue Regular',Helvetica,Arial,Tahoma,'Microsoft YaHei','San Francisco','微软雅黑','Hiragino Sans GB',STHeitiSC-Light; font-size: 12px; height: auto; margin: auto; overflow: hidden; text-align: left; word-break: break-all; word-wrap: break-word;\">\n" +
                    "        <tbody style=\"margin: 0; padding: 0;\">\n" +
                    "        <tr style=\"background-color: #fafafa; color: #999; height: 35px; margin: 0; padding: 0; text-align: center;\"> <td style=\"margin: 0; padding: 0;\">XXXX系统</td> </tr>\n" +
                    "        <tr style=\"margin: 0; padding: 0;\"> <td style=\"margin: 0; padding: 30px;\">\n" +
                    "            <p style=\"line-height: 20px; margin: 0; margin-bottom: 10px; padding: 0;\"> Hi,<em style=\"font-weight: 700;\">"+nickname+"</em>,您的验证码: </p>\n" +
                    "            <div style=\"\"> <span style=\"font-weight: 700;display: inline-block; height: 32px; line-height: 32px; margin: 0 15px 0 0; padding: 0 15px; text-decoration: none; font-size: 15px;\" target=\"_blank\">"+VerifyCode+"</span> </div>\n" +
                    "            <p style=\"line-height: 20px; margin-top: 20px; padding: 10px; background-color: #f2f2f2; font-size: 12px;\"> 此验证码5分钟有效, 泄露验证码会影响信息安全, 请勿将验证码泄露于他人! </p> </td> </tr>\n" +
                    "        <tr style=\"background-color: #fafafa; color: #999; height: 35px; margin: 0; padding: 0; text-align: center;\"> <td style=\"margin: 0; padding: 0;\">系统邮件,请勿直接回复。</td> </tr> </tbody> </table>";
            email.setMsg(content);//内容
    //由于邮件滥发等原因阿里云服务器禁用了25端口,所以这里得使用ssl加密传输(这样使用的端口号是465)
     email.setSSLOnConnect(true);
     email.send(); //发送邮件
   } catch (EmailException e) {
        e.printStackTrace();
   }
下面是效果:
上一篇下一篇

猜你喜欢

热点阅读