腾讯云SES邮件推送服务Java实现

编程教程 (1299) 2024-11-26 14:39:04

环境说明

  • Java 1.8
  • maven项目

引入腾讯云ses依赖

<dependency>
    <groupId>com.tencentcloudapi</groupId>
    <artifactId>tencentcloud-sdk-java-common</artifactId>
    <version>3.1.787</version>
</dependency>
<dependency>
    <groupId>com.tencentcloudapi</groupId>
    <artifactId>tencentcloud-sdk-java-ses</artifactId>
    <version>3.1.787</version>
</dependency>

编写Java代码实现腾讯云SES发送邮件

package demo.tencent.cloud;

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.ses.v20201002.SesClient;
import com.tencentcloudapi.ses.v20201002.models.SendEmailRequest;
import com.tencentcloudapi.ses.v20201002.models.SendEmailResponse;
import com.tencentcloudapi.ses.v20201002.models.Template;

public class MailTest {


        public static void main(String [] args) {
        try{
            // 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
            // 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
            // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
            Credential cred = new Credential("SecretId", "SecretKey");
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("ses.tencentcloudapi.com");
            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            SesClient client = new SesClient(cred, "ap-hongkong", clientProfile);
            // 实例化一个请求对象,每个接口都会对应一个request对象
            SendEmailRequest req = new SendEmailRequest();
            /**
             * 发件人地址(腾讯ses配置里面的)
             */
            req.setFromEmailAddress("no-replay@mail.your.com");

            /**
             * 设置收信人邮件地址
             */
            String[] destination1 = {"jieshou@qq.com"};
            req.setDestination(destination1);

            Template template1 = new Template();
            template1.setTemplateID(12312L);
            template1.setTemplateData("{\"emailCode\":\"1231\"}");
            req.setTemplate(template1);

            req.setSubject("xqlee注册");
            // 返回的resp是一个SendEmailResponse的实例,与请求对象对应
            SendEmailResponse resp = client.SendEmail(req);
            // 输出json格式的字符串回包
            System.out.println(SendEmailResponse.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }
    }
}

 

代码参数说明

SecretIdSecretKey上面这两个参数从腾讯云https://console.cloud.tencent.com/cam/capi获取

no-replay@mail.your.com 发件人地址,在腾讯云SES后台配置的发信地址

jieshou@qq.com 收件人地址,这个就是你要发给目标的邮件地址

setTemplateID模板id  腾讯SES后台模板管理里面通过审核的模板id

setTemplateData模板参数,json字符串,替换模板里面的参数

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
环境说明 Java 1.8maven项目 引入腾讯云ses依赖 &lt;dependency&gtl; &lt;groupId&gtl;com.tencentcloudapi&l...
腾讯云对象存储,配置微信小程序可以访问 如上图Referer第一行所示,添加该域名即可,微信小程序都是通过这个域名来访问的资源。
CDN全站的意思就是把整个域名都通过CDN服务商走,其中配置部分进行走CDN缓存,另外一些通过CDN服务商的节点访问网站的源地址。
存储桶访问权限 存储桶访问权限分三种,分别是 私有读写; 公有读私有写; 公有读写; 理解: 私有读写:访问和编辑上传你存储的对象都需要验证权限; ...
前言最近有小伙伴买的腾讯云的1核1G入门级服务器,发现部署的服务多了后,会自动停掉一些docker的的容器
需求根据数字值,显示不同颜色,最好能自定义颜色 效果展示腾讯文档创建在线表格填充测试数字数据根据需求,按值设定颜色
PVE配置nginx代理访问。nginx配置:server { listen 10101 ssl; server_name pve.ok.top; #ssl on; #从腾...
不知从何时开始,get.docker.com download.docker.com 在腾讯云已经无法访问了,导致之前分享的在线安装方案间接失效,故此记录国内Ubuntu 安装docker的另一种方法
nginx 配置文件编 cat static-vcnas-bind.example.conf server {
百度云网盘百度网盘介绍       百度网盘(原百度云)是百度推出的一项云存储服务,已覆盖主流PC和手机操作系统,包含Web版、Windows版、Mac版、Android版、iPhone版和Wi...
前言 Java编程中发邮件也是常用的。但是原生的jdk自带的发送邮件用起来还是比较麻烦的。spring框架在Java语言中完全是神一样的存在,通过spring框
阿里云(原万网)域名,配合acme.sh 脚本申请免费的泛型SSL证书,开启HTTPS时代。首先是创建阿里云的子账号赋予子账号域名DNS相关操作权限,参考:
目的给阿里云单个域名提供API接口权限,目前主要用来申请免费的SSL证书。配置单个域名权限是为了安全,一个账户下如果只有一个域名也可直接配置最高权限无所谓。操作
首先,在某个单元格写或者计算出一个数字,值0-1之间的小数,例如下图中的:0.56345 然后对单元格进行鼠标右键点击,弹出下面菜单:点击设置数据格式 格式设置,选择百分比
前置说明,项目配置了个全局PATH,估计是为了方便复杂环境单容器多项目部署用的老项目配置方式var PATH = [[${#httpServletRequest.getScheme() + ":...