最近自己折腾了下Java中利用mai发送QQ邮件

1.QQ邮箱设置

  1.1 进去QQ邮箱-->设置-->账号-->进行设置如下图

  

2.foxmail设置(由于我要利用它收邮件)

  2.1 参照官方的设置即可http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=371

  ps:填写的邮箱密码是独立密码:需要注意的就是SSL链接要勾选;smtp端口是465

3.Java中代码配置

  3.1 发送邮件配置代码

  1. //发送邮箱验证
  2. try {
  3. Properties prop = new Properties();
  4. prop.setProperty("mail.transport.protocol", "smtp");
  5. prop.setProperty("mail.smtp.host", "smtp.qq.com");
  6. prop.setProperty("mail.smtp.auth", "true");
  7. prop.put("mail.smtp.port","25");
  8. prop.setProperty("mail.debug", "true");
  9. Authenticator authenticator = new PopAuthenticator("1274444444@qq.com", "4444444");
  10. //创建会话
  11. Session session = Session.getInstance(prop,authenticator);
  12. //填写信封写信
  13. Message msg = new MimeMessage(session);
  14. msg.setFrom(new InternetAddress("1271099894@qq.com"));
  15. msg.setRecipient(RecipientType.TO, new InternetAddress(user.getEmail()));
  16. msg.setSubject(user.getUsername()+"激活邮箱!");
  17. msg.setText(user.getUsername()+",你好请到这个地址激活你的账号:http://www.estore.com/ActiveServlet?activecode="+user.getActivecode());
  18. //验证用户名密码发送邮件
  19. Transport transport = session.getTransport();
  20. //transport.connect("1274444444@qq.com","4444444");
  21. transport.send(msg);
  22. }

  3.2辅助类

  1. public class PopAuthenticator extends Authenticator {
  2. String userName = null;
  3. String password = null;
  4. public PopAuthenticator() {
  5. }
  6. public PopAuthenticator(String username, String password) {
  7. this.userName = username;
  8. this.password = password;
  9. }
  10. protected PasswordAuthentication getPasswordAuthentication() {
  11. return new PasswordAuthentication(userName, password);
  12. }
  13. }

  3.3 如果要发送html可以参考如下代码:

  1. MimeMessage mailMessage = new MimeMessage(sendMailSession);
  2. mailMessage.setFrom(new InternetAddress("1219999@qq.com"));
  3. // Message.RecipientType.TO属性表示接收者的类型为TO
  4. mailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
  5. mailMessage.setSubject(subject, "UTF-8");
  6. mailMessage.setSentDate(new Date());
  7. // MiniMultipart类是一个容器类,包含MimeBodyPart类型的对象
  8. Multipart mainPart = new MimeMultipart();
  9. // 创建一个包含HTML内容的MimeBodyPart
  10. BodyPart html = new MimeBodyPart();
  11. html.setContent(content.trim(), "text/html; charset=utf-8");
  12. mainPart.addBodyPart(html);
  13. mailMessage.setContent(mainPart);
  14. Transport.send(mailMessage);

java mail使用qq邮箱发邮件的配置方法的更多相关文章

  1. python 向qq邮箱发邮件

    #coding:utf-8 ''' Created on 2017-1-12 @author: xiaochun ''' import smtplib from email.mime.text imp ...

  2. C# 用qq邮箱发邮件

    一.在企业的QQ邮箱中开启POP3/SMTP服务 开启服务时,授权密码保存好. 二.示例 public static string UserName = ""; // 企业邮箱 p ...

  3. Discuz! X3.4 邮件设置 使用qq邮箱发邮件

    1. 在qq邮箱->设置中,获取授权码 2. 在discuz后台配置基础信息 3.  在服务器的防火墙中添加规则,允许访问465端口

  4. 解决laravel使用QQ邮箱发邮件失败

    在 laravel 中使用 QQ 发送邮件的时候莫名其妙的出现了如下错误:Connection could not be established with host smtp.exmail.qq.co ...

  5. python webdriver 登录163邮箱发邮件加附件, 外加数据和程序分离,配置文件的方式

    配置文件:UiObjectMapSendMap.ini用来存放配置信息 GetOptionSendMail.py 用来读取配信息 #encoding=utf-8from selenium.webdri ...

  6. mailx加163邮箱发邮件

    mailx加163邮箱发邮件 参考:https://www.cnblogs.com/myvic/p/9579954.html 配置 $ yum install mailx -y $ vim /etc/ ...

  7. SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件

    SQL SERVER 2008配置Database Mail –用SQL  数据库发邮件 https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql ...

  8. paip.数据库发邮件通知配置

    paip.数据库发邮件通知配置 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/attilax ...

  9. Java学习之道:jdk环境变量配置方法

    JDK(Java Development Kit)是整个Java的核心,包含了Java执行环境.Java工具和Java基础类库.JDK作为JAVA开发的环境,无论是做JAVA开发还是做安卓开发,都必须 ...

随机推荐

  1. wind取交易日历n day数据

    days=AlldaysPeriod=Mw.tdaysoffset(5,'20171212','days=Tradingdays;Period=D')

  2. ASCII、UNICODE、UTF-8等关系

    参考如下: 网址1:http://blog.csdn.net/lx697/article/details/5914417 网址2:http://www.php100.com/html/it/bianc ...

  3. 主板BIOSCOMS故障解决三例

    主板故障中因为BIOS/COMS设置不当或者因为主板电池引起的coms故障而导致主板无法正常工作的比例占了不小.今天我们就来说说主板BIOS/COMS的故障和解决.声卡维修 硬盘安装设置 CMOS设置 ...

  4. sql 查询服务器硬盘剩余空间

    DECLARE @tb1 Table( drive varchar(20), [MB 可用空间] varchar(20)) INSERT INTO @tb1 Exec master.dbo.xp_fi ...

  5. 【FPGA】【代码】资源优化,结构优化

    资源优化 原始资源 定义时初始化和复位电路初始化都起作用,删除定义的初值后 将always块描述的组合逻辑变为时序逻辑后

  6. 【 2013 Multi-University Training Contest 1 】

    HDU 4602 Partition f[i]表示和为i的方案数.已知f[i]=2i-1. dp[i]表示和为i,k有多少个.那么dp[i]=dp[1]+dp[2]+...+dp[i-1]+f[i-k ...

  7. Siverlight 导出Excel (经测试通过 Vs2010 ,silverlight5 )

    网上搜了下,很多代码都有各种问题,自己抽时间整理了一下这个导出 using System; using System.Net; using System.Windows; using System.W ...

  8. BestCoder Round #53 (div.1)

    Problem A: 题目大意: 给出以节点1为根的一棵树A,判断它是否是特殊的.一棵树是特殊的当且仅当不存在和它不完全相同的一棵树B,使得A中点i到点1的距离和B中相等. 题解: 假设一个点x的深度 ...

  9. mongo virtual

    var options={"upsert":false,"multi":false,'new':false}; 不存是否插入,更新是否批量,返回内容是更新前还是 ...

  10. 用Window Authentication的方式去连接SQLServer

    用Window Authentication的方式去连接SQLServer Connection String: jdbc:sqlserver://${serverName};databaseName ...