轻松使用 SendGrid 完成邮件发送
核心指标
发送邮件的几个核心指标
- 送达率【不被邮箱提供商识别为垃圾邮件】
- 点击率 【点击等行为有完善的webhook事件】
- 转化率【方便业务部门追踪】
- 可靠性【发送失败后是否会自动重试】
- 吞吐量【大促等场景,支持短时间内发送大批量邮件】
- 价格 【多梯度的价格区间提供】
sendgrid
SendGrid 是一家提供云端电子邮件交付服务的公司,它帮助企业和开发者在大规模发送电子邮件,同时保持高送达率和效率。SendGrid 主要服务于需要通过电子邮件与客户通信的公司,例如发送通知邮件、营销邮件和自动化邮件等。
功能特性
-
高可靠性:SendGrid拥有强大的基础设施,能够保证邮件的稳定传输,帮助你的邮件避免被标记 为垃圾邮件。
-
强大的API:SendGrid提供了一套全面且易于使用的API,开发者可以通过API轻松地集成SendGrid的服务。
-
丰富的功能:除了基本的邮件发送和接收功能,SendGrid还提供了邮件模板、邮件跟踪、分析报告等功能,帮助你更好地管理和优化你的邮件服务。
-
弹性扩展:无论你的邮件发送量是百、千还是百万级别,SendGrid都可以轻松处理,满足你的业务扩展需求。
-
优秀的客户支持:SendGrid提供了丰富的文档和教程,同时还有专业的客户支持团队,可以帮助你解决使用过程中遇到的问题。
-
邮件追踪和分析功能:等支持A/B测试功能和事件webhook通知
套餐介绍
- free 套餐
- 支持每天100封邮件发送
- 提供基础的电子邮件发送功能,适用于小型项目或刚开始使用电子邮件营销的用户。
- 基础套餐 (Essentials)
- 价格:起价 $19.95/月
- 包括更高的发送限额和一些额外的功能,适合需要更高性能邮件服务的中小企业。
发送模式
send
针对单个邮箱进行发送。价格比较便宜,是常规使用的场景。
campaign send
先将联系人添加到segment,然后针对sengment 进行发送。价格相对昂贵,但是大批量发送速度较快。
场景实践
我们邮件发送之前是基于klavio,但是成本比较昂贵和我们需要建立自己的crm系统,采用对接sendgrid来替换klavio 使用
ip 预热
为了保证邮件的声誉,和邮件送达率,我们需要对ip预热。逐步提高每天邮件的发送量。
域名验证
没有经过域名验证的发件人,对收件人来说会有风险提示。
场景选择
flow 用户通知
可以自定义以下场景,例如订阅,给指定 的人群发送邮件
campaign 通知
系统计算指定人群,发送邮件通知。
代码实践
import com.dtflys.forest.annotation.BaseRequest;
import com.dtflys.forest.annotation.JSONBody;
import com.dtflys.forest.annotation.Post;
/**
* 使用dtflys封装client,方便spring boot项目调用
*/
@BaseRequest(interceptor = SendGridInterceptor.class, baseURL = "https://api.sendgrid.com")
public interface SendGridClient {
@Post("/v3/mail/send")
SendGridSendReq send(@JSONBody SendGridSendReq req);
//配置了webhook 才可以收到事件通知,免费账户可以建立一个webhook
@Post("/v3/user/webhooks/event/settings")
Object createWebhook(@JSONBody SendGridWebHookCreateReq req);
}
import com.dtflys.forest.exceptions.ForestRuntimeException;
import com.dtflys.forest.http.ForestRequest;
import com.dtflys.forest.http.ForestResponse;
import com.dtflys.forest.interceptor.Interceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* 方便统一header,异常处理
*/
@Slf4j
@Component
public class SendGridInterceptor implements Interceptor {
@Value("${sendgrid.key}")
private String sendgridKey;
@Override
public boolean beforeExecute(ForestRequest request) {
request.addHeader("Authorization", "Bearer " + sendgridKey);
return true;
}
@Override
public void onError(ForestRuntimeException ex, ForestRequest request, ForestResponse response) {
log.error("sendgrid 接口调用失败 , path :{} ", request.getUrl(), ex);
}
}
调优
Google Postmaster Tools 是一项服务,旨在帮助发送大量电子邮件的发送者了解和改善他们的邮件投递。以下是一些主要的功能和优势:
邮件投递监测
- Postmaster Tools API overview:此API允许您收集发送到Gmail用户的大量电子邮件的指标,并将数据导入或与其他系统合并。这些指标包括用户标记为垃圾邮件的电子邮件百分比和投递错误。
- Set up Postmaster Tools:使用Postmaster Tools可以监控您发送到个人Gmail账户的邮件信息,以及您用于发送邮件的域和IP地址的信息。
提升邮件送达率
- Google Postmaster Tools - What it's and how it can help you:Postmaster Tools是一个出色的资源,帮助发送者解决投递问题。这些工具提供关于电子邮件投递、域名声誉、安全性、反馈循环和垃圾邮件的关键信息。
域名和IP声誉管理
- Google Postmaster Tools startup guide: Sender reputation:这个入门指南介绍了如何通过Postmaster Tools管理和理解发件人的声誉。
