发送email
package com.rjj.d; import java.security.GeneralSecurityException;
import java.util.Date;
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 MailTest2 {
//授权码认证
static Authenticator auth = new Authenticator() { @Override
protected PasswordAuthentication getPasswordAuthentication() {
//发送者邮箱和授权码
return new PasswordAuthentication("215060580@qq.com", "xxxxxxxxx");//这里是授权码
} }; public static void main(String[] args) { Properties props = new Properties();
props.put("mail.smtp.host", "smtp.qq.com");//这里是SMTP发送服务器的名字 qq的smtp.qq.com
props.put("mail.smtp.auth", "true");//smtp是否需要认证
props.put("mail.from", "215060580@qq.com");//发送者的邮箱
/*
qq需要些ssl加密否会报错
javax.mail.AuthenticationFailedException: 530 Error: A secure connection is requiered(such as ssl).
More information at http://service.mail.qq.com/cgi-bin/help?id=28
*/
//qq邮箱需要设置ssl加密,
try {
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put("mail.smtp.ssl.enable", "true");
props.put("mail.smtp.ssl.socketFactory", sf);
} catch (GeneralSecurityException e) {
e.printStackTrace();
}
//实例化session
Session session = Session.getInstance(props, auth);
try {
// 创建默认的 MimeMessage 对象
MimeMessage msg = new MimeMessage(session);
//设置头部字段
msg.setFrom(new InternetAddress("215060580@qq.com"));//如果写必须写的和发件人邮箱一样
// msg.setFrom();//可以不写,默认
msg.setRecipients(Message.RecipientType.TO, "253481340@qq.com");//收件人
msg.setSubject("JavaMail hello world example");//收到邮件的标题
msg.setSentDate(new Date());//时间
msg.setText("Hello, world!\n");//邮件的身体内容,就是发送的邮件内容
Transport.send(msg);
} catch (MessagingException ex) {
System.out.println("send failed, exception: " + ex);
} }
}
以上是代码,复制直接可以用,但是需要在qq里边设置开启一些东西
1.
qq又想找找到设置,打开这个界面,点击用户,然后往下翻找到

开启标记的两个服务,并且需要拿到授权码, 点击生成授权码,

我的设置了手机令牌,会出现这个,填完动态码,会出现

这个,把授权码赋值到代码中替换xxxxxxxx就行。完了直接运行代码就会个指定的邮箱发送邮件
这个就是最简单的发送邮件,学习中....
最后就是jar

发送email的更多相关文章
- java发送email
package com.assess.util; import java.io.File; import java.util.ArrayList; import java.util.List; imp ...
- Spring 发送 Email
本文转自:http://zl198751.iteye.com/blog/757617 看到了本文,收获颇丰,感谢之至! 首先介绍下Email的发送流程: 需要选中smtp邮件服务器,Yahoo不提供免 ...
- 使用PHP发送email进行账号激活或者密码修改操作
使用PHPMailer编写发送邮件 PHPMailer需PHP的socket扩展支持,而PHPMailer链接qq域名邮箱时需要ssl加密方式(qq邮箱最近做了限制,新开域名邮箱不再允许通过smtp协 ...
- 使用python原生的方法实现发送email
使用python原生的方法实现发送email import smtplib from email.mime.text import MIMEText from email.mime.multipart ...
- C#发送Email邮件(实例:QQ邮箱和Gmail邮箱)
下面用到的邮件账号和密码都不是真实的,需要测试就换成自己的邮件账号. 需要引用: using System.Net.Mail; using System.Text; using System.Net; ...
- 【WinForm】C# 发送Email
发送Email 的条件 1.SmtpClient SMTP 协议 即 Host 处理事务的主机或IP地址 //smtp.163.com UseDefaultCredentia ...
- [转]C#发送Email邮件 (实例:QQ邮箱和Gmail邮箱)
下面用到的邮件账号和密码都不是真实的,需要测试就换成自己的邮件账号. 需要引用:using System.Net.Mail;using System.Text;using System.Net; 程序 ...
- asp.net发送E-mail
发送电子邮件也是项目开发当中经常用到的功能,这里我整理了一个发送电子邮件(带附件,支持多用户发送,主送.抄送)的类库,供大家参考. 先上两个实体类,用于封装成Mail对象. /// <summa ...
- 使用spring 并加载模板发送Email 发邮件 java 模板
以下例子是使用spring发送email,然后加载到固定的模板,挺好的,大家可以试试 需要使用到spring-context 包 和 com.springsource.org.apache.veloc ...
- [Python] 发送email的几种方式
python发送email还是比較简单的,能够通过登录邮件服务来发送,linux下也能够使用调用sendmail命令来发送,还能够使用本地或者是远程的smtp服务来发送邮件,无论是单个,群发,还是抄送 ...
随机推荐
- .net中的各种委托(Delegate、Action、Func)
1.Delegate,委托的鼻祖 protected delegate int ClassDelegate(int x, int y);//定义委托类型及参数 static void Main(str ...
- JavaScript数组中出现的次数最多的元素
var arr = [1,-1,2,4,5,5,6,7,5,8,6]; var maxVal = arr[0]; // 数组中的最大值 var minVal = arr[0]; // 数组中的最小值 ...
- Java Selenium 定位元素 实现的一个注册功能
import java.util.List; import java.util.concurrent.TimeUnit; import org.openqa.selenium.Alert; impor ...
- App上线Check List
1.umeng统计.安全加固等第三方功能到位,本次上线市场列表选择好.2.后台数据库模式准备3.后台数据库数据准备4.后台应用服务器运行检查5.前端界面信息要正确6.前端交互不能出现过度卡顿和经常闪退 ...
- windows10不能修改hosts解决方案(亲测)
hosts文本解释: 有时候我们要破解一些软件与服务器通讯,所以通常都需要更改Hosts文件来达到目的,XP系统可以直接修改保存,但是Win10系统却提示没有权限去修改,那么我们要怎样办呢,我们修改的 ...
- CSS学习笔记3:选择器及优先级
CSS选择器的类型: 标签选择器 类选择器 ID选择器 全局选择器 群组选择器 后代选择器 1.标签选择器: 以HTML的标签作为选择器,凡是选择了一个标签,那么所有这个标签的内容都是用了 ...
- asp.net路径问题
-------------初级篇---------------------------------------- 在一般的href中路径的引用问题 ./index.aspx与index.aspx都 ...
- springboot集成rabbitmq(实战)
RabbitMQ简介RabbitMQ使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现(AMQP的主要特征是面向消息.队列.路由.可靠性.安全).支持多种客户端,如:Python.Ru ...
- Python_CRC32
#计算文件的CRC32值 import sys import zlib import os.path filename=sys.argv[1] print(filename) if os.path.i ...
- swagger-codegen自动生成代码工具的介绍与使用
一.Swagger Codegen简介 Swagger Codegen是一个开源的代码生成器,根据Swagger定义的RESTful API可以自动建立服务端和客户端的连接.Swagger Codeg ...