什么是Amazon Simple Email Service(SES 群发邮件)

Amazon Simple Email Service(Amazon SES)让您可以使用 Amazon SES API 或 SMTP 接口放心地联络到客户,而无需使用本地简单邮件传输协议(Simple Mail Transfer Protocol,SMTP)电子邮件服务器。

在这里插入图片描述

目录

  • 什么是SES
  • 为什么使用 SES
  • 解决难点
  • 应用场景
  • 工作原理
  • Amazon SES 现在支持的功能
    • 邮件发送人配置选项
    • 提高收件箱送达率
    • 灵活的部署选项
    • 发件人身份管理和安全性
    • 发送统计信息
    • 声誉控制面板
    • 电子邮件接收
    • 邮箱模拟器
  • 代码示例-使用 AWS 开发工具包通过 Amazon SES 发送电子邮件
  • 限时-SES 提供灵活的免费套餐
  • 附录

什么是SES

Amazon Simple Email Service(又称 SES 群发邮件)是一个电子邮件平台,为您提供一种简单、经济高效的方式,让您使用自己的电子邮件地址和域发送和接收电子邮件。

例如,您可以发送营销电子邮件(例如特别优惠)、交易电子邮件(例如订单确认)以及其他类型的通信(例如新闻通讯)。当您使用 Amazon SES 接收邮件时,您可以开发软件解决方案,例如电子邮件自动回复器、电子邮件取消订阅系统以及从传入电子邮件生成客户支持票证的应用程序。


为什么使用 SES

Amazon SES 是一家基于云的电子邮件服务提供商,可以集成到任何应用程序中,以实现大批量电子邮件自动化。无论您是使用电子邮件软件发送交易电子邮件、营销电子邮件还是时事通讯电子邮件,都只需按实际用量付费。Amazon SES 是一款电子邮件工具,还支持包括专用、共享或自有 IP 地址的部署。关于发件人统计数据的报告和电子邮件送达率工具可帮助企业确保每封电子邮件都有效送达。


解决难点

  • 对于企业来说,构建大规模电子邮件解决方案通常是一项复杂且成本高昂的挑战。您必须应对基础设施挑战,例如:
    • 电子邮件服务器管理
    • 网络配置
    • IP 地址部署认证等。
  • 第三方电子邮件解决方案需要:
    • 合同和价格谈判
    • 大量的前期成本。
  • Amazon SES 消除了这些挑战,并使您能够受益于 Amazon.com 服务其自身的大规模客户群而构建的多年经验和先进的电子邮件基础设施

应用场景

  • 自动发送事务型邮件:通过自动发送电子邮件(如购买或发货通知、订单状态更新和策略变更通知)来使您的客户随时掌握最新信息。
  • 在全球范围内传送营销电子邮件:通过新闻通讯、特别优惠和吸引受众的内容,向全球各地的客户介绍产品和服务。
  • 及时向客户发送通知:及时向客户发送有关其与您的产品和服务之间交互的通知,包括每日提醒、每周使用报告和新闻通讯。
  • 批量发送电子邮件通信:向大型团体传送消息(包括通知和公告),并使用配置集跟踪结果。

工作原理

下面介绍以使用 SES 发送电子邮件时的工作原理为例:
在这里插入图片描述

  1. 电子邮件发件人的客户端应用程序向 SES 发出请求,将电子邮件发送给一个或多个收件人。
  2. 如果请求有效,SES 会接受该电子邮件。
  3. SES 通过互联网将消息发送至收件人的接收者。一旦消息传递到 SES,通常会立即发送,第一次传递尝试通常会在几毫秒内发生。
  4. 此时,就有不同的可能性。例如:
    a. ISP 成功地将邮件传送到收件人的收件箱。
    b. 收件人的电子邮件地址不存在,因此 ISP 向 SES 发送退回通知。然后,SES 将通知转发给发件人。
    c. 收件人收到该邮件,但认为它是垃圾邮件并向 ISP 进行投诉。ISP 与 SES 建立了反馈循环,将投诉发送给 SES,然后 SES 将其转发给发件人。

Amazon SES 现在支持的功能

邮件发送人配置选项

Amazon SES 提供了多种发送电子邮件的方式,包括 Amazon SES 控制台、简单邮件传输协议(SMTP)接口和 Amazon SES API。

提高收件箱送达率

送达率:确保电子邮件到达收件箱而不是垃圾邮件,是成功的电子邮件策略的核心要素。

SES 提供对发件人电子邮件性能的洞察,就如何提高送达率提出建议,甚至可以自动为发件人实施电子邮件送达率改进。SES 具有三个核心可交付性组件:数据分析、建议更改和自动实施

  • 分析电子邮件送达率
    SES 的送达率数据分析可以帮助电子邮件发件人了解他们的送达率。 在 SES 控制台的单个界面中查看有关发送和送达数据的概览报告,例如跳出率、打开次数和点击次数。您可以按照 ISP、发件人身份和配置集查看这些指标的明细,以及您发送的每封电子邮件的送达和互动情况。

  • 查看电子邮件送达率建议
    SES 可以通知发件人电子邮件送达率问题并提供可操作的建议以帮助提高收件箱送达率,例如审查 SPF、DKIM 和 DMARC 等电子邮件身份验证配置。如果识别出电子邮件声誉降级或改进机会,发件人将持续可见。

  • 自动提高电子邮件送达率
    发件人可以选择允许 SES 自动实施电子邮件送达率建议,例如优化电子邮件送达模式。一旦 SES 检测到改进的机会,系统将实施更改,而无需监控或手动调整。

灵活的部署选项

  • 共享 IP 地址
  • 专用 IP 地址
  • 自带 IP 地址

发件人身份管理和安全性

Amazon SES 支持所有行业标准的身份验证机制,包括域名密钥识别邮件 (DKIM)、发件人策略框架 (SPF)、基于域的邮件身份验证、报告和一致性 (DMARC)。

发送统计信息

Amazon SES 提供了数种用于监控电子邮件发送活动的方式,帮助调整电子邮件发送策略。Amazon SES 可以捕获有关整个电子邮件回复管道的信息,包括发送和送达的电子邮件数、电子邮件被打开、单击、退回的次数及其遭到投诉的次数以及被拒收的次数。

声誉控制面板

Amazon SES 控制台包含一个声誉控制面板,可以使用它来跟踪可能影响电子邮件发送的问题。

电子邮件接收

在使用 Amazon SES 接收传入电子邮件时,可以完全掌控要接收哪些电子邮件,以及接收电子邮件后要如何处理。

邮箱模拟器

借助 Amazon SES 邮箱模拟器,可以轻松测试应用程序如何处理各种场景 (如退回邮件或投诉),而不会影响您的发件人。

代码示例-使用 AWS 开发工具包通过 Amazon SES 发送电子邮件

    public static void send(SesClient client,String sender,String recipient,String subject,String bodyHTML) throws MessagingException {Destination destination = Destination.builder().toAddresses(recipient).build();Content content = Content.builder().data(bodyHTML).build();Content sub = Content.builder().data(subject).build();Body body = Body.builder().html(content).build();Message msg = Message.builder().subject(sub).body(body).build();SendEmailRequest emailRequest = SendEmailRequest.builder().destination(destination).message(msg).source(sender).build();try {System.out.println("Attempting to send an email through Amazon SES " + "using the AWS SDK for Java...");client.sendEmail(emailRequest);} catch (SesException e) {System.err.println(e.awsErrorDetails().errorMessage());System.exit(1);}}public static void sendemailAttachment(SesClient client,String sender,String recipient,String subject,String bodyText,String bodyHTML,String fileLocation) throws AddressException, MessagingException, IOException {java.io.File theFile = new java.io.File(fileLocation);byte[] fileContent = Files.readAllBytes(theFile.toPath());Session session = Session.getDefaultInstance(new Properties());// Create a new MimeMessage object.MimeMessage message = new MimeMessage(session);// Add subject, from and to lines.message.setSubject(subject, "UTF-8");message.setFrom(new InternetAddress(sender));message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipient));// Create a multipart/alternative child container.MimeMultipart msgBody = new MimeMultipart("alternative");// Create a wrapper for the HTML and text parts.MimeBodyPart wrap = new MimeBodyPart();// Define the text part.MimeBodyPart textPart = new MimeBodyPart();textPart.setContent(bodyText, "text/plain; charset=UTF-8");// Define the HTML part.MimeBodyPart htmlPart = new MimeBodyPart();htmlPart.setContent(bodyHTML, "text/html; charset=UTF-8");// Add the text and HTML parts to the child container.msgBody.addBodyPart(textPart);msgBody.addBodyPart(htmlPart);// Add the child container to the wrapper object.wrap.setContent(msgBody);// Create a multipart/mixed parent container.MimeMultipart msg = new MimeMultipart("mixed");// Add the parent container to the message.message.setContent(msg);msg.addBodyPart(wrap);// Define the attachment.MimeBodyPart att = new MimeBodyPart();DataSource fds = new ByteArrayDataSource(fileContent, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");att.setDataHandler(new DataHandler(fds));String reportName = "WorkReport.xls";att.setFileName(reportName);// Add the attachment to the message.msg.addBodyPart(att);try {System.out.println("Attempting to send an email through Amazon SES " + "using the AWS SDK for Java...");ByteArrayOutputStream outputStream = new ByteArrayOutputStream();message.writeTo(outputStream);ByteBuffer buf = ByteBuffer.wrap(outputStream.toByteArray());byte[] arr = new byte[buf.remaining()];buf.get(arr);SdkBytes data = SdkBytes.fromByteArray(arr);RawMessage rawMessage = RawMessage.builder().data(data).build();SendRawEmailRequest rawEmailRequest = SendRawEmailRequest.builder().rawMessage(rawMessage).build();client.sendRawEmail(rawEmailRequest);} catch (SesException e) {System.err.println(e.awsErrorDetails().errorMessage());System.exit(1);}System.out.println("Email sent using SesClient with attachment");}

限时-SES 提供灵活的免费套餐

作为 AWS Free Tier 的一部分,SES 提供灵活的免费套餐,使您可以免费试用所需的 SES 电子邮件功能。在开始使用 SES 后的 12 个月内,免费套餐客户每月最多可免费接收 3000 条消息。

以下 SES 产品的消息费用有资格享受 SES 免费套餐:

  • 出站电子邮件
  • 入站电子邮件
  • 虚拟可交付性管理器出站电子邮件处理

附录

亚马逊云服务免费体验中心
将 Amazon SES 与 AWS 开发工具包结合使用
通过 AWS 管理控制台开始使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/138880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10网络和Internet设置

win10网络设置 win10进入网络设置的常用入口有两个 第一个入口 桌面右下角右键网络图标,然后打开“网络和Internt设置” 第二个入口 桌面的“我的网络”快捷方式,或者我的电脑进去后,左侧栏找到“网络” 右键“属性” 可以看到,…

魔搭社区LLM模型部署实践, 以ChatGLM3为例(一)

魔搭社区LLM模型部署实践, 以ChatGLM3为 例 本文以ChatGLM3-6B为例, 主要介绍在魔搭社区如何部署LLM, 主要包括如下内容: ● SwingDeploy - 云端部署, 实现零代码一键部署 ● 多端部署 - MAC个人笔记本,…

时序预测 | MATLAB实现WOA-CNN-GRU-Attention时间序列预测(SE注意力机制)

时序预测 | MATLAB实现WOA-CNN-GRU-Attention时间序列预测(SE注意力机制) 目录 时序预测 | MATLAB实现WOA-CNN-GRU-Attention时间序列预测(SE注意力机制)预测效果基本描述模型描述程序设计参考资料 预测效果 基本描述 1.MATLAB实现…

米软科技 | 推进医院智慧管理分级评估体系建立、提升评级

国家卫生健康委办公厅于2021年3月15日发布了“关于印发医院智慧管理分级评估标准体系(试行)的通知”(国卫办医函〔2021〕86 号),该评估体系用于指导医疗机构科学、规范开展智慧医院建设,提升医院管理精细化…

Spring Cloud学习(六)【统一网关 Gateway】

文章目录 网关的功能搭建网关服务路由断言工厂Route Predicate Factory路由过滤器 GatewayFilter过滤器执行顺序跨域问题处理 网关的功能 网关功能: 身份认证和权限校验服务路由、负载均衡请求限流 在SpringCloud中网关的实现包括两种: gatewayzuul …

spring boot configuration annotation processor notconfigured解决方法

spring boot configuration annotation processor notconfigured解决方法 一、问题描述二、解决方法 一、问题描述 我在使用ConfigurationProperties注解的时候idea出现提示信息spring boot configuration annotation processor notconfigured,但是却不影响程序的运…

基于ubuntu22.04手动安装openstack——2023.2版本(最新版)的问题汇总

前言:基本上按照openstack官方网站动手可以搭建成功(如有需要私信发部署文档)。 但是任然有些小问题,所以汇总如下。 第一个问题 问题: ubuntu搭建2023.2版本neutorn报错,ERROR neutron.plugins.ml2.driv…

ArcGIS进阶:栅格计算器里的Con函数使用方法

本实验操作为水土保持功能重要性评价: 所用到的数据包括:土地利用类型数据(矢量)、植被覆盖度数据(矢量)和地形坡度数据(栅格)。 由于实验数据较少,其思路也较为简单&a…

C语言概述

目录 ​编辑 1. C语言发展史 2. C语言特点 3. C语言标准 4. C语言编程机制 4.1 预处理(Preprocessing) 4.2 编译(Compilation) 4.3 汇编(Assemble) 4.4 链接(Linking) 结语 1. C语言发展史 C语言是由美国贝尔实验室的Dennis Ritchie于1972年设计开发的一种编…

【EI会议征稿】第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)

第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024) 2024 4th International Conference on Computer Network Security and Software Engineering 第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)将于2024年2月…

两两交换链表中的节点 --- 递归回溯算法练习四

目录 1. 分析题意 2. 分析算法原理 2.1. 递归思路: 1. 挖掘子问题 3. 编写代码 3.1. step 1: 3.2. step 2: 3.3. step 3: 3.4. 递归代码 1. 分析题意 力扣上原题链接如下: 24. 两两交换链表中的节点 - 力扣&am…

k8s-docker二进制(1.28)的搭建

二进制文件-docker方式 1、准备的服务器 角色ip组件k8s-master1192.168.11.111kube-apiserver,kube-controller-manager,kube-scheduler,etcdk8s-master2192.168.11.112kube-apiserver,kube-controller-manager,kube-scheduler,etcdk8s-node1192.168.11.113kubelet,kube-prox…

Android codec2 视频框架 之输入buffer

文章目录 输入端的内存管理输入数据包buffer结构体的转换 主要的流程如上, 申请内存在CCodecBufferChannel,申请之后回调到MediaCodec。然后应用从MediaCodec获取 将解码数据放到buffer中,CCodecBufferChannel在将这块buffer 送到componet模块…

软文发布如何选择对应的媒体

企业做软文推广第一步,就是选择合适的媒体进行投放,然而许多企业不知道如何选择合适的媒体导致推广工作十分被动,无法取得效果,今天媒介盒子就来和大家分享,企业应该如何选择对应的媒体。 一、 媒体类型 根据软文类型…

【大模型-第一篇】在阿里云上部署ChatGLM3

前言 好久没写博客了,最近大模型盛行,尤其是ChatGLM3上线,所以想部署试验一下。 本篇只是第一篇,仅仅只是部署而已,没有FINETUNE、没有Langchain更没有外挂知识库,所以从申请资源——>开通虚机——>…

K8S容器内安装cur/telnet命令(Alpine Linux离线环境安装curl/telnet或其他工具)

背景 需求: 微服务的基础是镜像,通常在最小化的Linux镜像中安装jdk,然后运行编译好的java程序。将镜像运行到K8S上就得到了微服务Pod,Pod通常使用安装K8S时配置的私有网段,与宿主机不同。很多时候需要排查从Pod网段内…

vim相关命令讲解!

本文旨在讲解vim 以及其相关的操作! 希望读完本文,读者会有一定的收获!好的,干货马上就来! 初识vim 在讲解vim之前,我们首先要了解vim是什么,有什么作用?只有了解了vim才能更好的理…

报时机器人的rasa shell执行流程分析

本文以报时机器人为载体,介绍了报时机器人的对话能力范围、配置文件功能和训练和运行命令,重点介绍了rasa shell命令启动后的程序执行过程。 一.报时机器人项目结构 1.对话能力范围 (1)能够识别欢迎语意图(greet)和拜拜意图(goodbye) (2)能够识别时间意…

【pytorch深度学习】使用张量表征真实数据

使用张量表征真实数据 本文为书pytorch深度学习实战的一些学习笔记和扩展知识,涉及到的csv文件等在这里不会给出,但是我会尽量脱离这一些文件将书本想要表达的内容给展示出来。 文章目录 使用张量表征真实数据1. 加载图像文件2. 改变布局3. 加载目录下…

[EFI]戴尔Latitude 5310电脑 Hackintosh 黑苹果efi引导文件

硬件型号驱动情况 主板戴尔Latitude 5310 处理器Intel Core i5-10210U(1.6GHz/L3 6M)已驱动 内存8GB已驱动 硬盘三星 MZVLW1T0HMLH-000L2 (1024 GB / 固态硬盘)已驱动 显卡Intel UHD620已驱动 声卡瑞昱 Audio ALC299 英特尔 High Definition Audio 控制器已驱动 网卡RT…