15

我正在使用以下方式发送电子邮件:https ://github.com/sendgrid/sendgrid-nodejs/tree/master/packages/mail

我无法找出如何添加<a href="[Unsubscribe]">Unsubscribe</a>等价物。这记录在此处:https ://sendgrid.com/docs/Classroom/Basics/Marketing_Campaigns/unsubscribe_groups.html#-Using-a-Custom-Unsubscribe-Link

在网站上,您只需使用简码 [Unsubscribe],这在通过 sendgrid/mail 包发送电子邮件时不起作用。

4

5 回答 5

10

由于您使用代码发送,因此它是一种“事务性”类型的消息。您需要在帐户级别打开订阅跟踪过滤器(通过 [UI](订阅跟踪设置)或API),或者在发送消息时将其打开,作为邮件/发送 API 调用的一部分,下tracking_settings

重要的是要注意你不能混合这些。如果您在API 调用中定义任何内容,则需要在该调用中为订阅跟踪定义所有内容。SendGrid 不会查看邮件级别的某些设置,以及帐户级别的某些设置。mail/send

大多数用户只会在帐户级别进行设置。在那里,您可以自定义取消订阅页脚的 HTML 和文本,自定义登录页面的 HTML,或将登录重定向到您选择的 URL,这将?email=test@domain.com在 URL 字符串中将收件人发送到那里,以便您的系统捕获。您还可以定义“替换标记”,如[%unsubscribe%],以便您可以将 URL 放置在 HTML 中的任何位置。

于 2018-03-19T22:10:52.383 回答
8

可以为我节省一两个小时的提示是:

可以在 api json 中发送以下内容以及其他内容:

  "asm":{
    "group_id":123,
    "groups_to_display": [123],
    }

然后可以在模板中使用以下变量:

<%asm_group_unsubscribe_raw_url%>
<%asm_preferences_raw_url%>

如果您想保持简单,请不要包含以下变量,因为它会摆弄太多东西(这在文档中并不明显,所以很明显我这样做了并且浪费了时间:():

  "tracking_settings": {
    "subscription_tracking": {
      "enable": true,
      "substitution_tag": "[unsubscribe_url]"
    }
  }

只需以原始格式使用它们就可以了。

于 2020-05-29T14:38:03.947 回答
6
  1. https://app.sendgrid.com/ > Suppressions > Unsubscribe Groups > Create New Group

  2. 记下 group_id/ids。例如 123(只有数字!不是字符串) 在此处输入图像描述

  3. 使用 node.js 发送电子邮件


const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(SENDGRID_API_KEY);


const tags = { invitedBy : Alex }
const msg = {
            to: email,
            from: { "email": SENDER_EMAIL, 
                    "name": SENDER_NAME 
                  },
            templateId: TEMPLATE_ID,
            dynamic_template_data: {
                Sender_Name: name,
                ...tags
            },
            asm: {
                group_id: 123,
                groups_to_display: [
                    123
                ],
            },
        };


await sgMail.send(msg); 

于 2020-10-04T21:09:36.747 回答
3

最好的方法是使用组取消订阅。

  1. 首先在 Sendgrid 中创建一个组:
  • 群组 > 取消订阅群组 > 创建群组
  1. 接下来,将一个模块插入到 Sendgrid 模板中,该模板会在您的电子邮件中创建特定标签,这些标签会在您发出 API 请求时填充
  • 转到您的模板
  • 在 HTML 块中插入取消订阅模块
  • 节省

添加退订模块

  1. 最后发出 API 请求并指定在步骤 1 中创建的组:
     "asm":{
        "group_id":544,
        "groups_to_display": [544, 788],
     }
  1. 这些将在发送电子邮件时插入到步骤 2 中提到的模块中。

不幸的是,Sendgrid 取消订阅链接并不像它们可能的那样简单。它们在这里有更详细的解释

于 2020-07-05T12:32:21.310 回答
1

最简单的方法是通过SendGrid GUI执行此操作。

转到设置 -> 跟踪 -> 订阅跟踪

于 2019-07-14T05:03:44.890 回答