zoukankan      html  css  js  c++  java
  • SendGrid模板使用方式二

    特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过。如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/mao2080/

    1、问题描述

      Exception in thread "main" java.io.IOException: Request returned status Code 400Body:{"errors":[{"message":"Substitutions may not be used with dynamic templating","field":"personalizations.0.substitutions","help":"http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.personalizations.substitutions"}]}。使用SendGrid GitHub demo跑的时候报这个错误,具体代码如下:

    2、解决方法

    1、相关Pom

    <dependency>
        <groupId>com.sendgrid</groupId>
        <artifactId>sendgrid-java</artifactId>
        <version>4.0.1</version>
    </dependency>

    2、相关Code,变量使用-- 连接起来

    package com.sendgrid;
    
    public class Example4 {
    
        public static void main(String[] args) throws Exception {
            Email from = new Email("xxxx@qq.com");
            String subject = "I'm replacing the subject tag";
            Email to = new Email("mao2080@sina.com");
            Content content = new Content("text/html", "<html>hi -name-, today is -date-, phone:-phone-</html>");
            Mail mail = new Mail(from, subject, to, content);
            mail.personalization.get(0).addSubstitution("-name-", "Jack Chen");
            mail.personalization.get(0).addSubstitution("-date-", "2020-04-07");
            mail.personalization.get(0).addSubstitution("-phone-", "0755-8888xxxx");
            String apiKey = "SG.YYY.XXX";
            SendGrid sg = new SendGrid(apiKey);
            Request request = new Request();
            try {
                request.setMethod(Method.POST);
                request.setEndpoint("mail/send");
                request.setBody(mail.build());
                Response response = sg.api(request);
                System.out.println(response.getStatusCode());
                System.out.println(response.getBody());
                System.out.println(response.getHeaders());
            } catch (Exception ex) {
                throw ex;
            }
        }
    
    }
    

     3、效果

    3、其他方式

           https://www.cnblogs.com/mao2080/p/12655793.html

    4、参考网站

      https://github.com/sendgrid/sendgrid-java/blob/master/USE_CASES.md

  • 相关阅读:
    STL容器 erase的使用陷井
    转:VC++线程同步-事件对象
    VC线程同步方法
    C/C++四种退出线程的方法
    rabbitMQ 常用命令
    Spring @Configuration
    Spring RabbitMQ 延迟队列
    rabbitmq web管理界面 用户管理
    Linux下tar.gz 安装
    Linux下RPM软件包的安装及卸载
  • 原文地址:https://www.cnblogs.com/mao2080/p/12655939.html
Copyright © 2011-2022 走看看