如何通过sendgrid / mail发送时,如何在我的电子邮件中添加取消订阅链接

时间:2018-03-19 21:46:09

标签: sendgrid sendgrid-api-v3

我正在使用以下网址发送电子邮件: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

在网站上,您只需使用短代码[取消订阅],这在通过sendgrid / mail包发送电子邮件时不起作用。

5 个答案:

答案 0 :(得分:6)

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

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

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

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

<%asm_group_unsubscribe_raw_url%>
<%asm_preferences_raw_url%>

如果您想使事情保持简单,请不要包含以下变量,因为它会弄乱太多事情(从documentation中看不出来,所以显然我这样做并浪费了时间:():< / p>

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

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

答案 1 :(得分:4)

由于您使用代码发送,因此它是一种“交易”类型的消息。您需要在帐户级别启用订阅跟踪过滤器(通过[UI](订阅跟踪设置)或API),或在发送邮件时将其启用,作为{{{ 3}},在tracking_settings下。

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

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

答案 2 :(得分:3)

  1. https://app.sendgrid.com/>抑制>取消订阅组>创建新组

  2. 记下group_id / id。例如123(仅数字!不字符串) enter image description here

  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); 

答案 3 :(得分:1)

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

  1. 首先在Sendgrid中创建一个组:
  • 网上论坛>退订网上论坛>创建网上论坛
  1. 接下来,将一个模块插入Sendgrid模板中,以在您的电子邮件中创建特定的标记,这些标记在您发出API请求时填充
  • 转到您的模板
  • 在HTML块中插入一个取消订阅模块
  • 保存

Adding unsubscribe module

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

不幸的是,Sendgrid的取消订阅链接并不像它们那样简单。 here

对其进行了详细说明

答案 4 :(得分:-1)

就像这个海报所说的那样,最简单的方法是通过https://app.sendgrid.com/settings/tracking上的GUI来做到这一点。 (设置->跟踪->订阅跟踪)