jodd邮件发送

一、背景

最近重做API,之前的邮件使用模版,而且代码都不知道那,我只知道模版的样式,昨天老大才说新的API要支持邮件注册等几个新功能,所以今天就花时间做了下邮件注册,但是没想到掉坑了,而且是很简单的坑,首先我们要可以发出邮件,其次,发出的邮件中可以点击链接进行激活操作。下面说说重点了。

二、邮件发送

邮件发送我使用的jodd,一个非常强大的东西,可以看看其系列包的功能,这里我就先说jodd-mail的邮件发送功能

<dependency>
    <groupId>org.jodd</groupId>
    <artifactId>jodd-mail</artifactId>
    <version>3.7.1</version>
</dependency>

pom中引入上面这个包
邮件发送代码如下

我的是企业邮箱,所以**为企业邮箱后缀,如果你使用QQ发送,那么**就是qq,完整就是smtp.qq.com
private static final String EMAIL_OWNER_ADDR_HOST = "smtp.**.com";
public static void sendEmail(){
//String html = html(url);
        Email email = Email.create().from(EMAIL_OWNER_ADDR).to(toEmail).subject(" 注
册").addHtml("<h1>你好!!!</h1>");

        SmtpServer smtpServer = SmtpSslServer.create(EMAIL_OWNER_ADDR_HOST).
authenticateWith(EMAIL_OWNER_ADDR, EMAIL_OWNER_ADDR_PASS);
        SendMailSession session = smtpServer.createSession();
        session.open();
        session.sendMail(email);
        session.close();
    }

上面EMAIL_OWNER_ADDR就是要使用的发送邮件帐号,EMAIL_OWNER_ADDR_PASS为发送邮件帐号的密码。
基本上按照上面的方式就可以发送邮件了,但是这里强调一点的就是

这里的host就是自己使用的发送host,我们使用的是腾讯企业邮箱,所以
host为:stmp.mouse.com;使用QQ邮箱发送,那么host就为
stmp.mouse.com

三:以html形式发送
因为是要点击可以激活,所以需要使用html的方式拼凑数据
找到一种比较好的方式,那就是先在html里面把页面布局排版写好,然后直接复制到http://www.css88.com/tool/html2js/这里进行转换

Convert_Image.png

所以转换后的就可以直接复制到页面中使用了。 我的操作后如下

public static String html(String url){
        String str = "<div>"+
                "    <p style=\"line-height: 2em; font-size: 16px;\">"+
                "        <span>亲爱的用户,欢迎加入XXX!</span>"+
                "        <br>"+
                "    </p>"+
                "    <p style=\"font-size: 12px;\">"+
                "        <br>"+
                "        <span style=\"margin-left:34px;\">"+
                "                   请在24小时内激活账号。"+
                "       </span>"+
                "        <br>"+
                "        <br>"+
                "        <a style=\"margin-left:102px;\" href='"+url+"' target=\"_blank\">"+
                "            立即激活账号"+
                "        </a>"+
                "        <br>"+
                "        <br>"+
                "        <span style=\"margin-left:34px;\">"+
                "                   如果以上按钮无法打开,请把下面的链接复制到浏览器地址栏中打开:"+
                "       <a href='"+url+"' target=\"_blank\">"+url+"</a></span>"+
                "    </p>"+
                "    <p style=\"line-height: 2em; font-size: 12px;text-align:right;margin-right:20px;\">"+
                "        <span>咨询热线:<span style=\"border-bottom:1px dashed #ccc;z-index:1\" t=\"7\" onclick=\"return false;\" data=\"888888888\">888888888/span></span>"+
                "        <br>"+
                "        <span>网址:<a href=\"http://www.baidu.com\" target=\"_blank\">www.baidu.com</a></span>"+
                "    </p>"+
                "   </div>";
        return str;
    }

这里还没玩,上面的链接部分才是重点,点击激活的链接,这里坑我好一会,如果你只写比如"www.baidu.com",那么你在发送出去的页面是没有中a标签中是没有href的,也就是说你点击链接是点击不了的,所以最后才发现,是因为没有加http://在前面,所以如下才是正确
<a href = '"+url+"' target="_blank"></a>,tartget代表点击跳转到新的页面。
其中url传入形如"http://www.baidu.com"形式,切记加http://
很多问题都是慢慢发现的,慢慢解决,但是就是在某些时候需要去踩一些。切记切记!!!

四:浩语

                                          __                                                        
                            __  _  ____ __|  |__ _____    ___
                            \ \/ \/ /  |  \  |  \\__  \  /  _ \   
                             \     /|  |  /   Y  \/ __ \(  <_> )
                              \/\_/ |____/|___|  (____  /\____/ 
                                                    \/     \/          
                         2016,To Work Hard,To Adapter,To Change Myself!!!
                                         
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容