SendGrid对接教程(Java版)前言最近由于工作需要,需要对接SendGrid邮件通道。厂商自己也在网上找了很多资料,发现大部分资料都是零碎的,没有完整的教程。自己也摸索了一段时间,所以把对接的过程分享给大家,并留个备注,以后可能对自己有用(如有错别字,请留言指正,谢谢).另外,由于本人主要从事Java语言开发,本文主要以Java代码作为案例,其他语言也应作为参考。对接依赖首先是maven依赖
并且在任何地方都很容易做到,即使使用Java
");Mailmail=newMail(from,subject,to,content);SendGridsg=newSendGrid(apiKey);请求request=newRequest();request.setMethod(Method.POST);request.setEndpoint("mail/send");//注意这个类型,不要修改request.setBody(mail.build());//设置请求体Responseresponse=sg.api(request);//发送请求System.out。println(response.getStatusCode());System.out.println(response.getBody());System.out.println(response.getHeaders());}V3版本@SneakyThrowsprivatestaticvoidsendEmailV3(){StringapiKey="后台appkey,检查appKey设置";SendGridsg=newSendGrid(apiKey);请求request=newRequest();request.setMethod(Method.POST);request.setEndpoint("/邮件/发送");//创建邮件Mailmail=newMail();个性化personalization1=newPersonalization();personalization1.addTo(newEmail("收件人邮箱地址","收件人姓名"));personalization1.addCustomArg("version","1.0");//注意:自定义参数会在回调中返回mail.addPersonalization(personalization1);mail.setFrom(newEmail("Sender'semail","sendername));mail.setSubject("YourExampleOrderConfirmation");//contentobjectContentcontent=newContent();content.setType("text/html");content.setValue("来自TwilioSendGrid的问候!
使用开发人员和营销人员信任的电子邮件服务发送以节省时间,可扩展性,以及交付专业知识。
%open-track%
");mail.addContent(content);request.setBody(mail.build());Responseresponse=sg.api(request);System.out.println(response.getStatusCode());System.out.println(response.getBody());System.out.println(response.getHeaders());}V3版本的操作空间比V2版本高很多,上面的代码中只有一些个人需要的代码,其他的功能如附件,cc,和自己批量发送,邮件的发送应该结束了,接下来我们看callback回调地址配置,我们想让SendGrid给我们回调,是不是需要给它提供一个回调的孔(回调是SendGrid中官方叫EventWebhook)我们可以直接在后台配置回调地址:https://app.sendgrid.com/sett...配置的时候有个AuthorizationMethod,如果不选None,可以还要选择你需要订阅的事件类型,比如:打开,点击和拒绝等内容分析回调的Content格式参考:https://docs.sendgrid.com/for...我贴出了一部分代码这里@SneakyThrowsprivatevoiddoCallBack(SendGridEmailNoticeMessagemessage){switch(message.getEvent()){case"delivered"://arrivaldoDelivered(message);休息;案例“反弹”://拒绝做弹跳(消息);休息;case"unsubscribe"://unsubscribedoUnsubscribe(message);休息;默认值:log.error("不支持的SendGrid事件类型:{}",JsonUtils.toString(message));}}可以根据自己的需要处理自己的业务逻辑。另外:如果返回的内容缺少需要的数据,发送时可以自定义方式发送。相关链接请在下方留言。请注意,您需要一个梯子。官网:https://sendgrid.com/登录:https://app.sendgrid.com/事件回调消息:https://docs.sendgrid.com/for...错误检查:https://www.thinbug.com/q/422...对接API入口:https://docs.sendgrid.com/for...自定义参数:https://docs.sendgrid.com/for...邮件发送文档:https://docs.sendgrid.com/api...设置appKey:https://app.sendgrid.com/sett...发送者认证地址:https://app.sendgrid.com/sett...配置回调地址:https://app.sendgrid.com/sett...