AWS SES SDK V2 API 邮件发送

2024-11-08 15:27:31 6

记录一下


@Bean
public SesClient sesClient(EmailAwsConfig config) {
    AwsBasicCredentials build = AwsBasicCredentials.builder()
            .accountId(config.getAccountId())
            .accessKeyId(config.getAccessKey())
            .secretAccessKey(config.getAccessKeySecret())
            .validateCredentials(true).build();

    return SesClient.builder()
            .region(Region.of(config.getRegion()))
            .credentialsProvider(StaticCredentialsProvider.create(build)).build();
}



@Autowired
SesClient sesClient;

public Result awsSendEmail(SendDto dto) {
    try {
        SendEmailRequest request = SendEmailRequest.builder()
                .destination(Destination.builder().toAddresses(dto.getReceiveEmail()).build())
                .message(Message.builder()
                        .subject(Content.builder().data(dto.getTitle()).charset("UTF-8").build())
                        .body(Body.builder().html(Content.builder()
                                .data(dto.getContent()).charset("UTF-8").build()).build())
                        .build())
                 // 显示名称以字符串拼接的方式传递
                .source("22xcode.com <" + dto.getAccountName() + ">")
                .build();

        SendEmailResponse response = sesClient.sendEmail(request);

        log.info("requestId: {}, msgId: {}",
                response.responseMetadata().requestId(), response.messageId());

        return Result.success();
    } catch (Exception ex) {
        log.error("error, dto: {}", dto, ex);
        return Result.failure();
    }
}


ref:

https://github.com/aws/aws-sdk-java-v2

AWS 设置 SES 事件 HTTPS 通知

SESSimple Email Service. amazon aws的邮件服务配置新建配置集全部默认配置创建完后, 添加目的地, 选择: Amazon EventBridge, 并根据需要选择事件类型创建API目标进入Amazon EventBridge界面创建API 目标输入自己的https地址
2024-11-17

AWS SES SDK V2 API 邮件发送

记录一下@Bean public SesClient sesClient(EmailAwsConfig config) { AwsBasicCredentials build = AwsBasicCredentials.builder() .accountId(con
2024-11-08

一些免费的api

仅用于交流学习,不得用于非法途径天气apihttp://www.tianqiapi.com/ip来源apiF12 点击查询 Network显示 https://tool.lu/ip/ajax.html,发起请求需要携带cookiehttps://tool.lu/ip/IP apihttps://sp
2020-06-29

各平台时间格式

javayyyy-MM-dd HH:mm:ss2021-01-18 13:05:25mysqlDATE_FORMAT(time,'%Y-%m-%d %H:%i:%s')2021-01-18 13:05:25sql serverSELECT CONVERT(varchar(100), GETDATE(
2021-01-18

Java 获取当前方法的被调用信息

Thread.currentThread().getStackTrace();
2021-01-28

异步场景下的ThreadLocal解决方案

引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>transmittable-thread-local</artifactId> <version>2.12.1</version> </dependency
2021-04-15

Redis缓存更新修改原有值但是不修改失效时间

第一种方式redisTemplate.opsForValue().set("key", "value", 0);第二种方式redisTemplate.opsForValue().increment("key", 1);
2021-04-17

Visual Studio 2019 文件编码问题

Visual Studio 对 utf-8 的支持相当差.cpp/.h 文件先调出高级保存选项菜单, 具体百度设置文件字符编码为utf-8还不够, 还要在项目 => 属性 => C/C++ => 所有选项 => 附加选项 中 设置 /utf-8.rc 文件默认编码gbk, 加了特殊字符无法显示然后改
2021-07-18

屏蔽Postman自动更新

hosts文件添加127.0.0.1 dl.pstmn.io 127.0.0.1 sentry-app.postmanlabs.com
2021-12-23

Nginx相关命令

查看Nginx的版本号:nginx -V 启动Nginx:start nginx 或者 nginx 快速停止或关闭Nginx:nginx -s stop 正常停止或关闭Nginx:nginx -s quit 配置文件修改重装载命令:nginx -s reload 查看windows
2021-12-24
IDEA方法注释模板

IDEA方法注释模板

设置tab键触发注释模板内容** * <p>$methodName$</p> *$param$ $return$ * @Title $methodName$ * @author kyaa * @date $date$ $time$ */ 变量填充param自己脚本模拟def result
2022-01-06

MyBatis-Plus部分方法封装

在此仅记录一种思路public interface SuperMapper<T> extends BaseMapper<T> { default List<T> idNotInList(List<?> idList) { return selectList(new Quer
2022-01-29