邮箱发送
-1.导包(坐标)
<!-- 导入javamail的坐标 javax-->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
-2.公共工具配置
package com.czxy.bos.util;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Properties;
public class MailUtil {
public static void sendMail(String to,String subject,String text) throws Exception{
//1 创建属性对象
Properties props = new Properties();
//2 设置邮件服务器的地址 smtp.163.com smtp.126.com smtp.qq.com smtp.gmail.com
props.put("mail.smtp.host","smtp.163.com");
//3 设置是否打开校验 , 是否验证用户名和密码 必须要设置为 true
props.put("mail.smtp.auth",true);
//4 获取与邮件服务器的连接
Session session = Session.getDefaultInstance(props);
//5 新建一封邮件
MimeMessage message = new MimeMessage(session);
//6 设置发送者
InternetAddress fromAddress = new InternetAddress("sqczdx@163.com");
message.setFrom(fromAddress);
//7 设置接收者
InternetAddress toAddress = new InternetAddress(to);
// to 接收者 cc 抄送 bcc 密送
message.setRecipient(Message.RecipientType.TO,toAddress);
//8 设置主题
message.setSubject(subject);
//9 设置正文
// message.setText(text);
//第一个参数:内容
//第二个参数:内容格式
message.setContent(text,"text/html;charset=utf-8");
//10 坐火箭
Transport transport = session.getTransport("smtp");//参数必须添加
transport.connect("sqczdx@163.com","q7w8e9a4s5d6");// 密码是授权码
// 所有的接收者 to cc bcc
transport.sendMessage(message,message.getAllRecipients());
// 关闭连接
transport.close();
System.out.println("ok");
}
public static void main(String[] args) {
try {
MailUtil.sendMail("1638064027@qq.com","好好学习","天天向上");
} catch (Exception e) {
e.printStackTrace();
}
}
}
3.使用
// 拼接链接地址
String activeUrl = Constants.FORE_MANAGEMENT_HOST + "/regist/activeMail?telephone="+customer.getTelephone()+"&activeCode="+activeCode;
String content = "<a href='"+activeUrl+"'>速运快递账号激活</a>";
// 发送邮件
try {
MailUtil.sendMail(customer.getEmail(),"世纪佳缘网账号激活",content);
} catch (Exception e) {
e.printStackTrace();
}
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
[阿里大鱼] 发短信!
1.导包 <!-- 引入阿里大鱼的jar包 --> <dependency> <groupId>com.aliyuncs</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>3.3.1</version> </dependency> <dependency> <groupId>com.aliyuncs.dysmsapi</groupId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId> <version>1.0.0</version> </dependency> 2.配置Utils 公共类 package com.czxy.bos.util; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs....
-
下一篇
常见Serialize技术探秘(ObjectXXStream、XML、JSON、JDBC byte编码、Protobuf)
目前业界有各种各样的网络输出传输时的序列化和反序列化方案,它们在技术上的实现的初衷和背景有较大的区别,因此在设计的架构也会有很大的区别,最终在落地后的:解析速度、对系统的影响、传输数据的大小、可维护性及可阅读性等方面有着较大的区别,本文分享一些我在一些常见序列化技术的分析和理解: 文章分成3个部分: 1、列举常见的序列化和反序列化方案(ObjectXXStream、XML、JSON) 2、MySQL JDBC结果集的处理方案 3、Google Protocol Buffer处理方案 【一、常见的在API及消息通信调的用中Serialize方案】: 方案1、基于Java原生的ObjectOutputStream.write()和ObjectInputStream.read()来进行对象序列化和反序列化。 方案2、基于JSON进行序列化和反序列化
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Docker容器配置,解决镜像无法拉取问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7设置SWAP分区,小内存服务器的救世主

微信收款码
支付宝收款码