如果需要提供用户名和密码给e-mail服务器来达到用户认证的目的,你可以通过如下设置来完成:

props.put("mail.smtp.auth", "true");

props.setProperty("mail.user", "myuser");

props.setProperty("mail.password", "mypwd");

e-mail其他的发送机制和上述保持一致。

需要用户名密码验证邮件发送实例:

本实例以 QQ 邮件服务器为例,你需要在登录QQ邮箱后台在"设置"=》账号中开启POP3/SMTP服务 ,

// 关于QQ邮箱,还要设置SSL加密,加上以下代码即可

MailSSLSocketFactory sf = new MailSSLSocketFactory();

sf.setTrustAllHosts(true);

props.put("mail.smtp.ssl.enable", "true");

props.put("mail.smtp.ssl.socketFactory", sf);

参考消息:

import java.security.GeneralSecurityException;

import java.util.Properties;

import javax.mail.Authenticator;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.PasswordAuthentication;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

import com.sun.mail.util.MailSSLSocketFactory;

public class SendEmail

{

public static void main(String [] args) throws GeneralSecurityException

{

// 收件人电子邮箱

String to = "XXXXX@qq.com";

// 发件人电子邮箱

String from = "XXXXXX@qq.com";

// 指定发送邮件的主机为 smtp.qq.com

String host = "smtp.qq.com"; //QQ 邮件服务器

// 获取系统属性

Properties properties = System.getProperties();

// 设置邮件服务器

properties.setProperty("mail.smtp.host", host);

properties.put("mail.smtp.auth", "true");

MailSSLSocketFactory sf = new MailSSLSocketFactory();

sf.setTrustAllHosts(true);

properties.put("mail.smtp.ssl.enable", "true");

properties.put("mail.smtp.ssl.socketFactory", sf);

// 获取默认session对象

Session session = Session.getDefaultInstance(properties,new Authenticator(){

public PasswordAuthentication getPasswordAuthentication()

{

return new PasswordAuthentication("647976802@qq.com", "授权的 QQ 邮箱密码"); //发件人邮件用户名、密码

}

});

try{

// 创建默认的 MimeMessage 对象

MimeMessage message = new MimeMessage(session);

// Set From: 头部头字段

message.setFrom(new InternetAddress(from));

// Set To: 头部头字段

message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));

// Set Subject: 头部头字段

message.setSubject("This is the Subject Line!");

// 设置消息体

message.setText("This is actual message");

// 发送消息

Transport.send(message);

System.out.println("Sent message successfully....from runoob.com");

}catch (MessagingException mex) {

mex.printStackTrace();

}

}

}

java发送qq邮箱_Java 发送QQ邮箱邮件相关推荐

  1. java邮箱_java发送邮件(qq邮箱)

    完整的示例代码: package cn.sw.study.common.test; import javax.mail.Message; import javax.mail.Session; impo ...

  2. java连接qq邮箱_Java使用qq邮箱发邮件实现

    public class MailDemo1 { public static void main(String[] args) throws Exception{ Properties prop = ...

  3. Java短信频率_java发送短信系列之限制发送频率

    本篇是发送短信的第二部分, 这里我们介绍一下如何限制向同一个用户(根据手机号和ip)发送短信的频率. 1.使用session 如果是web程序, 那么在session中记录上次发送的时间也可以, 但是 ...

  4. java qq邮箱发送端口号_java实现qq邮箱的发送

    准备工作 开启PO3/SMTP服务 打开qq邮箱>账户 记住这串授权码 会用到 java发送qq邮箱实现步骤 创建一个javase的工程 3. 编写核心代码 我这里封装了 也可以不封装 /** ...

  5. java 发送企业邮箱_java发送企业邮箱

    此代码用的jar文件:mail.jar(我这里用的是1.4.7 的版本); 如果jdk用的是1.8版本会出现SSL错误:这个问题是jdk导致的,jdk1.8里面有一个jce的包,安全性机制导致的访问h ...

  6. java 发邮件 qq有些_Java 发送QQ邮件

    1. 开启SMTP服务 1.1 在QQ邮箱的 设置->账户 里开启 SMTP 服务 1.2 QQ邮箱不能直接用QQ密码,而是使用 授权码 ,点击 生成授权码 2. 编写代码 2.1 添加依赖的j ...

  7. java读取qq邮箱_java获取qq邮箱中的好友列表

    评论 # re: java获取qq邮箱中的好友列表 2009-05-07 20:56 咖啡@可乐 # re: java获取qq邮箱中的好友列表 2009-05-08 09:07 EverestSnow ...

  8. java 判断是否为邮箱_java如何判断邮箱是否合法

    java如何判断邮箱是否合法 java判断邮箱是否合法的方法:使用正则表达式判断,代码为[boolean b=matcher.matches();if (b) {System.out.println( ...

  9. java qq项目_Java版QQ项目

    Java版QQ项目详细设计之:概述 2012-03-16 10:40 wangchangshuai0010 wangchangshuai0010的博客 前两天在博客上,发了一篇博文,概述了java q ...

最新文章

  1. Link Cut Tree学习笔记
  2. 机器学习 对回归的评估_在机器学习回归问题中应使用哪种评估指标?
  3. listview 每行后面的小箭头_主卧带小衣帽装修,这几个装修方案,你喜欢哪个?...
  4. LeetCode 554. 砖墙(map计数)
  5. Docker部署安装MongoDB
  6. 树莓派命令行连接蓝牙音箱及不出声问题
  7. mysql时区代码_mysql时区设置为东八区
  8. Git版本控制:Git分支处理
  9. 华为p50 pro 鸿蒙,华为p50pro有双系统吗-采用鸿蒙系统吗
  10. oracle数据库日志关闭,oracle数据库关闭日志
  11. 2019年PAT甲级冬季考试真题及参考答案
  12. codesys 轴程序
  13. 灵芝酸大鼠血清白蛋白纳米粒|茯苓酸小麦麦清白蛋白纳米粒雷公藤内酯醇-牛血清白蛋白纳米粒(TRD-BSA NPs)
  14. 网站收录量如何提高?
  15. Android App架构设计
  16. Intellij IDEA简介
  17. golang---go mod 相关问题的解决方法(Unexpected module path、used for two different module)
  18. 视频webm怎么转换成mp4?
  19. Tair 分布式Key/Value高可用解决方案(可用于缓存及持久)
  20. Vue项目——Vue开发掘金WebApp(仿掘金App)

热门文章

  1. 中兴路由器中缺省路由的配置
  2. Flutter 获取屏幕高度、密度、安全区域等
  3. 信息化武器装备(中北大学)学习笔记(1)
  4. Rust学习:14_包和模块
  5. python合并excel出现多余列等问题
  6. PostgreSQL相似文本查询
  7. uniapp实现小程序拖拽购物车,类似苹果的 Assistive Touch且限制拖拽位置不能脱出页面安全区;
  8. 2020-09-25:Python题目和总结
  9. Linux系统入门之yum源挂载 三种方式(本地 光盘 网络)
  10. 分享一次购物体验airpods 无线充电器