说实话腾讯的企业邮箱真心不错!

腾讯企业邮箱官网:http://exmail.qq.com/login/

新用户注册:http://exmail.qq.com/onlinesell/intro

点击开通

你跟着步骤走就行了,没啥难的,如果你没有域名,你就去买一个呗,也花不了多少钱的。

注册成功后,是这个页面,并且会有一个弹窗告诉你一些信息

现在你点击添加成员,因为你不添加成员的话你是无法发送邮件的。

完成后是这样

然后你打开腾讯企业邮箱登录界面,输入你刚才增加的成员邮箱的:登录名 + 密码,进去后是一个类似于普通QQ邮箱的界面

到这里邮箱部分就解决了,哦还有,腾讯会自动给你发一个邮件,

点开后是这个,

以前写过普通QQ邮箱的发送代码,我从没见过SSL,所以一开始全然不懂。。,但是上网查阅得知

随着各个Mail服务器对于安全的重视,纷纷采用基于SSL的Mail登陆方式进行发送和接收电子邮件

好了现在开始写代码。

有一个属性文件用来存储邮箱信息的

email.properties,放在src路径下面
1 e.account=你的邮箱用户名
2 e.pass=你的邮箱登录密码
3 e.from=你的邮箱用户名
4 e.host=smtp.exmail.qq.com
5 e.port=465
6 e.protocol=smtp
  1 import java.io.IOException;
  2 import java.io.InputStream;
  3 import java.io.UnsupportedEncodingException;
  4 import java.security.GeneralSecurityException;
  5 import java.util.Date;
  6 import java.util.Properties;
  7
  8 import javax.mail.Authenticator;
  9 import javax.mail.Message;
 10 import javax.mail.MessagingException;
 11 import javax.mail.PasswordAuthentication;
 12 import javax.mail.Session;
 13 import javax.mail.Transport;
 14 import javax.mail.internet.InternetAddress;
 15 import javax.mail.internet.MimeMessage;
 16
 17 import com.sun.mail.util.MailSSLSocketFactory;
 18
 19 public class SendEmailUtils {
 20
 21     private static String account;//登录用户名
 22     private static String pass;        //登录密码
 23     private static String from;        //发件地址
 24     private static String host;        //服务器地址
 25     private static String port;        //端口
 26     private static String protocol; //协议
 27
 28     static{
 29         Properties prop = new Properties();
 30         InputStream instream = ClassLoader.getSystemResourceAsStream("email.properties");
 31         try {
 32             prop.load(instream);
 33         } catch (IOException e) {
 34             System.out.println("加载属性文件失败");
 35         }
 36         account = prop.getProperty("e.account");
 37         pass = prop.getProperty("e.pass");
 38         from = prop.getProperty("e.from");
 39         host = prop.getProperty("e.host");
 40         port = prop.getProperty("e.port");
 41         protocol = prop.getProperty("e.protocol");
 42     }
 43     //用户名密码验证,需要实现抽象类Authenticator的抽象方法PasswordAuthentication
 44     static class MyAuthenricator extends Authenticator{
 45         String u = null;
 46         String p = null;
 47         public MyAuthenricator(String u,String p){
 48             this.u=u;
 49             this.p=p;
 50         }
 51         @Override
 52         protected PasswordAuthentication getPasswordAuthentication() {
 53             return new PasswordAuthentication(u,p);
 54         }
 55     }
 56
 57     private String to;    //收件人
 58     private String id;    //重置密码地址标识(这句话是我的业务需要,你们可以不要)
 59
 60     public SendEmailUtils(String to, String id) {
 61         this.to = to;
 62         this.id = id;
 63     }
 64
 65     public void send(){
 66         Properties prop = new Properties();
 67         //协议
 68         prop.setProperty("mail.transport.protocol", protocol);
 69         //服务器
 70         prop.setProperty("mail.smtp.host", host);
 71         //端口
 72         prop.setProperty("mail.smtp.port", port);
 73         //使用smtp身份验证
 74         prop.setProperty("mail.smtp.auth", "true");
 75         //使用SSL,企业邮箱必需!
 76         //开启安全协议
 77         MailSSLSocketFactory sf = null;
 78         try {
 79             sf = new MailSSLSocketFactory();
 80             sf.setTrustAllHosts(true);
 81         } catch (GeneralSecurityException e1) {
 82             e1.printStackTrace();
 83         }
 84         prop.put("mail.smtp.ssl.enable", "true");
 85         prop.put("mail.smtp.ssl.socketFactory", sf);
 86         //
 87         Session session = Session.getDefaultInstance(prop, new MyAuthenricator(account, pass));
 88         session.setDebug(true);
 89         MimeMessage mimeMessage = new MimeMessage(session);
 90         try {
 91             mimeMessage.setFrom(new InternetAddress(from,"XXX"));
 92             mimeMessage.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
 93             mimeMessage.setSubject("XXX账户密码重置");
 94             mimeMessage.setSentDate(new Date());
 95             mimeMessage.setText("您在XXX使用了密码重置功能,请点击下面链接重置密码:\n"
 96                     + "http://localhost:8080/XXX/ResetPassword?id="
 97                     + id);
 98             mimeMessage.saveChanges();
 99             Transport.send(mimeMessage);
100         } catch (MessagingException e) {
101             e.printStackTrace();
102         } catch (UnsupportedEncodingException e) {
103             e.printStackTrace();
104         }
105     }
106
107 }

下面是测试类

@Testpublic void test4(){SendEmailUtils s = new SendEmailUtils("收件邮箱",“标识码”);s.send();}

下面是我收到的邮件

到此就完成了

Java + 腾讯企业邮箱 + javamail + SSL 发送邮件(转载:http://www.cnblogs.com/LUA123/p/5575134.html)相关推荐

  1. java 发 腾讯企业邮_(更新)Java + 腾讯企业邮箱 + javamail + SSL 发送邮件

    咳咳~最头疼的就是莫名其妙的错误. 本来今年6月份运行通过的代码,过俩月就报错了. 1 javax.mail.MessagingException: Could not connect to SMTP ...

  2. Java + 腾讯企业邮箱 + javamail发送邮件

    搞了一上午终于搞定了腾讯云企业邮箱的发送,话说腾讯云的东西就是繁琐,但是好用,还是得认真看文档啊,不然真的摸不着北. 腾讯企业邮箱官网:http://exmail.qq.com 点击开通 你跟着步骤走 ...

  3. Java腾讯企业邮箱发送邮件

    ##Java通过腾讯企业邮箱发送邮件(多人发送) 企业邮箱需要使用ssl private static String account = "企业邮箱账户";// 登录账户priva ...

  4. python程序下载腾讯企业邮箱附件_python 发送邮件 QQ+腾讯企业邮箱

    一.使用QQ邮箱或者腾讯企业邮箱 python 发送邮件属于网络编程方向的,在工作中,我需要经常用邮件来检测我的程序运行状况.使用起来十分方便,这里我就用腾讯企业邮箱作为我的收发邮箱来使用. 使用py ...

  5. 【邮件服务】hutool发送腾讯企业邮箱案例

    目录 一.hutool发送腾讯企业邮箱 1. 引入依赖 2. 配置resources/config/mail.setting 3. 发送实例,更多参考hutool邮件发送文档 4. 发送结果 ​ 参考 ...

  6. java发送QQ群邮件,Java使用腾讯企业邮箱 、javamail 、 SSL 发送邮件/群发

    引入相关依赖: javax.mail mail 1.4.7 commons-io commons-io 2.4 如果使用spring的发邮件,还需要添加依赖: org.springframework ...

  7. Java通过腾讯企业邮箱发送邮件

    Java通过腾讯企业邮箱发送邮件 企业邮箱需要使用ssl private static String account = "企业邮箱账户";// 登录账户 private stat ...

  8. 使用腾讯企业邮箱调用SpringMail或者JavaMail发送邮件的发送服务器设置

    本来计划不到一天完成的邮件发送任务,因为要使用公司的腾讯企业邮箱而折腾了一天半,最后终于在网上看到了这个帖子,腾讯企业邮箱给出的 企业邮箱提示是错误的: 接收服务器: pop.exmail.qq.co ...

  9. qq收不到oracle邮件,腾讯企业邮箱发送邮件失败

    一直使用的腾讯企业邮箱,但是最近发现发送邮件全是失败的,提示: javax.mail.MessagingException: Could not connect to SMTP host: smtp. ...

最新文章

  1. 4.MYSQL 三大范式+BC范式
  2. 卧槽?用 Python 还能玩 Git?
  3. C语言学习之输入10个数,输出其中最大的一个数。
  4. Direct3D 开发之旅 3D 游戏基本概念的介绍2
  5. 故人的一份连连看代码,c语言版本
  6. Apollo配置中心热加载mysql_Apollo 配置中心部署注意事项
  7. java访问mysql_Java访问数据库
  8. “评论王争夺赛”活动,第4期开始啦!
  9. ssh GSSAPIAuthentication 参数
  10. js返回上级页面的方法(亲测)
  11. Python输入一个年份输出全年日历
  12. 刚刚,神舟十三号载人飞船即将撤离空间站核心
  13. uniapp 动态插槽 slot 兼容微信小程序 h5 APP
  14. 阿里云Centos镜像虚拟机安装方法
  15. GlassFish的使用方法
  16. 如何提取公众号文章中的音频
  17. Airbnb、小猪短租等这类短租类产品发展前景如何?
  18. 奔跑吧,我的JavaScript(1)
  19. 全世界最好的编辑器VIM之Windows配置(gvim)
  20. word文档的只有横线的表格怎样做

热门文章

  1. 算法分析与设计实验报告——二分搜索算法的实现
  2. 以太网的分层架构_工业以太网中层次拓扑结构对网络性能的影响
  3. 检查文件编码是什么格式的
  4. 塑胶材料的各种特性,热塑性塑料详解
  5. 设计模式之九原型模式
  6. ABP开发框架的总体介绍
  7. 生成二维码的三种方式
  8. RGB颜色转换为16进制颜色
  9. undefined is not a function错误解决
  10. server酱php推送代码,多种语言调用Server酱推送微信模板消息