SendGrid之WebHook的使用【Java】

前回我们我们演示了如何使用SendGrid来发送邮件,但现在有个需求,就是需要实时获取发送邮件的状态(如:发送成功与否,对方有没有收到,收到之后的处理-打开,删除,判定为垃圾邮件等),这就需要用到SendGrid的WebHook功能了,下面我们具体来看看如何使用。

创建WebService

首先SendGrid的WebHook需要指定一个用作接收通知的WebService URL,如下:

@RequestMapping(value="/eventReceiver", method = RequestMethod.POST)
@ResponseBody
public void sendGridEventHook(@RequestBody String jsonString) throws IOException {
    ObjectMapper mapper = new ObjectMapper();
    List<Event> events = mapper.readValue(jsonString, new TypeReference<List<Event>>() {});

    for (Event event : events) {
        LOGGER.info("email: " + event.getEmail() + ", event: " + event.getEvent());
    }
}

因为SendGrid的WebHook的数据是以POST传递的JSON串,所以我们的WebService需要指定一个字符串作为参数。
上面的Event是一个自定义的实体类,里面包含了WebHook传递的各种数据。

以上的WebService部署到服务器之前是在本地运行的,是局域网的IP,要让SendGrid能够访问到,必须要映射成外网IP,这里我们可以通过nat123的外网映射功能,具体用法自行到网上查找。

SendGrid的设定

要让SendGrid能够访问到我们的WebService,我们需要在SendGrid的网页上进行绑定。
打开https://app.sendgrid.com/settings/mail_settings,然后展开Settings -> Mail Settings -> Event Notification进行WebHook的设定。如下图所示:
SendGrid的设定

API文档

具体用法请参见以下API文档:

https://sendgrid.com/docs/API_Reference/Event_Webhook/event.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值