Sendgrid ~ 通过 Web Api 发送 HTML 动态模板时在哪里设置预报头?

Sendgrid ~ where to set preheader when sending HTML Dynamic Template via Web Api?

构建动态模板有两种选择:通过 'Design Editor' 或 'Code Editor'
选择 'Design Editor' 时,'DYNAMIC VERSION SETTINGS' 有一个字段

选择 'Code Editor' 时,Preheader 丢失

那么通过Web发送的自编码动态模板如何设置preheaderApi?

const msg = {
        to: '***',
        from: '***',
        templateId: '***',
        dynamic_template_data: {
            subject: 'Subject can be set via dynamic variable',
            preheader: 'But how to set me..?!?',
        },
    }

我的理解是,preheader 是电子邮件 HTML <body> 中文本内容的第一位。因此,虽然可以为您将其放置在设计编辑器中,但当您可以控制电子邮件的代码时,您将需要自己完成。

重要的是,preheader 文本是第一个内容,因此请在打开 <body> 标签后立即放置它。您可能还想隐藏它,this snippet from responsivehtmlemail.com 应该可以为您实现:

<body>
  <div style="font-size:0px;line-height:1px;mso-line-height-rule:exactly;display:none;max-width:0px;max-height:0px;opacity:0;overflow:hidden;mso-hide:all;">
    But how to set me..?!?
  </div>
  <!-- rest of your email -->

如果您想在 API 调用中动态设置预报头的文本,您可以使用把手。

<body>
  <div style="font-size:0px;line-height:1px;mso-line-height-rule:exactly;display:none;max-width:0px;max-height:0px;opacity:0;overflow:hidden;mso-hide:all;">
    {{ preheader }}
  </div>
  <!-- rest of your email -->

然后将 preheader 作为 dynamic_template_data 的一部分发送,如您在问题中所示:

const msg = {
        to: '***',
        from: '***',
        templateId: '***',
        dynamic_template_data: {
            subject: 'Subject can be set via dynamic variable',
            preheader: 'Now I appear in the email',
        },
    }