当前位置: 首页 > news >正文

AWS SES服务 Golang接入教程(排坑版)

因为刚来看的时候 也迷迷糊糊的 所以 先讲概念 再上代码

一 基础设置

在这里插入图片描述
这里需要完成两个最基础的设置任务
1 是验证至少一个收件电子邮箱
2 【很关键】是验证发送域。即身份里的域类型的身份。(可以理解为配置你的域名邮箱服务器(SMPT)为亚马逊提供的服务器)。点击“待验证”可以看到 一份 DNS 解析记录,将此份记录逐个添加到你域名的DNS服务器。
如下图(我用的是Cloudflare)
在这里插入图片描述
除了我打码的部分 其余都是按着AWS SES要求 新增加的。可以一个一个添加,也可以下载.isv文件上传。我这里上传失败,手动添加的。

在此过程中,有一个MX类型的记录要特别注意,有坑。
SES给的配置值如下:

name:noreply
value:10 feedback-smtp.ap-southeast-1.amazonses.com

如果你把这个值整个复制进去 是不行的。
10应该理解为优先级 单独设置。这样就OK了。
在这里插入图片描述
配置好后 等一会就可以看到任务二也被验证完成了。
验证完成后,你注册AWS的邮箱会收到通知短信
在这里插入图片描述
意味着你可以使用任何以@yourdomain.com结尾的邮箱地址发送邮件。

二 身份

在这里插入图片描述
因为是沙箱环境 所以 身份里是你要发邮件测试的 收件邮箱。创建身份后 会收到邮件,在邮箱里确认后,就可以看到此身份为已验证的。
测试环境你只能给认证过的邮箱发信。

三访问

在这里插入图片描述

SMTP凭证–操控API

在SMTP设置那里 可以创建新的SMTP凭证,
在这里插入图片描述
这里只需要密钥的key value和正确的region就可以建立可用的session链接。

var(accessKey = "AKIXXXXU2BBBBBX2TET"                     //""secretKey = "IXXXXXWRwD9q1cgyQQEccXXXXXXXXmAN9g" //""region    = "ap-southeast-1")
func AWSInit() (*session.Session, error) {//只要不修改session,session就可以安全的并发使用。return session.NewSession(&aws.Config{Credentials: credentials.NewStaticCredentials(accessKey, secretKey, ""),//Endpoint:         aws.String(endpoint),Region: aws.String(region),//S3ForcePathStyle: aws.Bool(false),//SDK 支持使用客户端 TLS 证书配置的环境和会话选项,这些证书作为客户端 TLS 握手的一部分发送以进行客户端身份验证。//如果使用,则需要 Cert 和 Key 值。如果缺少一个,或者无法加载文件的内容,则会返回一个错误。//ClientTLSCert:              nil,//ClientTLSKey:               nil,})
}

四 测试

sender 是 任何@yourdomain.com 例如:contact@yourdomain.con
因为是沙箱环境 所以 recipients 是 你在【身份】里认证过的
注意 recipients收件人 必须是合规的邮箱格式,否则会报错

测试结果 :很丝滑,不愧是AWS SES

在这里插入图片描述

ps

刚刚又收到了一个邮件 说是探测到了MX配置的那个noreply 具体还没明白 后边再研究下
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【编译SOCI数据操作库教程】
  • 你做的SEO为什么效果不够好?
  • Opencv中的直方图(4)局部直方图均衡技术函数createCLAHE()的使用
  • QT cmake vscode 构建流程
  • 打造高效接口自动化测试:精准对比与可视化展示,轻松发现数据差异!
  • 【Leetcode 2399 】 检查相同字母间的距离 —— 哈希表
  • 2024国赛数学建模备赛|30种常用的算法模型之最优算法,线性规划
  • 服务器文件权限限制写入
  • 【Google SEO】SEO 面试问题和答案
  • uniapp去除顶部标题栏
  • 怎么摆脱非自然链接?
  • 虚拟化pve查看存储空间使用情况
  • ML17_变分推断01:KL散度、ELBO
  • pvesm list 命令使用
  • 单向链表的操作
  • 2018一半小结一波
  • 5、React组件事件详解
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友
  • AWS实战 - 利用IAM对S3做访问控制
  • Docker 笔记(2):Dockerfile
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • input实现文字超出省略号功能
  • js对象的深浅拷贝
  • MySQL用户中的%到底包不包括localhost?
  • Node + FFmpeg 实现Canvas动画导出视频
  • spring boot 整合mybatis 无法输出sql的问题
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 赢得Docker挑战最佳实践
  • 移动端高清、多屏适配方案
  • # Apache SeaTunnel 究竟是什么?
  • (1)bark-ml
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (C语言)fgets与fputs函数详解
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (分布式缓存)Redis分片集群
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (计算机网络)物理层
  • (每日一问)操作系统:常见的 Linux 指令详解
  • (十六)串口UART
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转载)PyTorch代码规范最佳实践和样式指南
  • (轉貼) 2008 Altera 亞洲創新大賽 台灣學生成果傲視全球 [照片花絮] (SOC) (News)
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET Core 成都线下面基会拉开序幕
  • .Net 代码性能 - (1)
  • .Net(C#)常用转换byte转uint32、byte转float等
  • @Builder用法
  • @component注解的分类
  • @PostConstruct 注解的方法用于资源的初始化
  • [ 第一章] JavaScript 简史
  • [Asp.net MVC]Bundle合并,压缩js、css文件
  • [C#] 我的log4net使用手册