簡體   English   中英

SendGrid:使用 Node 禁用 Clicktrack

[英]SendGrid: Disable Clicktrack using Node

我正在使用sendgrid-nodejs庫通過 SendGrid 發送電子郵件。 我想在每封電子郵件的基礎上禁用點擊跟蹤。

我知道您可以在動態模板中包含一個屬性來禁用點擊跟蹤:

通過在 href 之前的 HTML 鏈接的錨點內包含 clicktracking clicktracking=off屬性,可以關閉單個鏈接的點擊跟蹤。 例如,不會跟蹤<a clicktracking=off href="http://example.com">link text</a>

但是,我希望以編程方式控制它。

根據 SendGrid 文檔,可以使用clicktrack 過濾器禁用點擊跟蹤:

{
  "filters": {
    "clicktrack": {
      "settings": {
        "enable": 0,
        "enable_text": false
      }
    }
  }
}

查看Mail 構造函數,我們似乎可以設置標題。 類型綁定表明它期望 header 值是一個字符串。

headers?: { [key: string]: string }

注意:我可以根據 SendGrid 的錯誤返回確認這一點(如果試圖傳遞一個對象):

{
  "body": {
    "errors": [
      {
        "message": "Invalid type. Expected: string, given: object.",
        "field": "headers",
        "help": "http://sendgrid.com/docs/API_Reference/Web_API_v3/Mail/errors.html#message.headers"
      }
    ]
  }
}

無論我通過什么,似乎都沒有任何影響。 電子郵件已成功發送,但未禁用點擊跟蹤。

const { SENDGRID_KEY } = process.env
const mail = require('@sendgrid/mail')
mail.setApiKey(SENDGRID_KEY)

mail.send({
  headers: {
    // this doesn't have any impact
    "X-SMTPAPI": JSON.stringify({
      filters: {
        clicktrack: {
          settings: {
            enable: 0,
            enable_text: false
          }
        }
      }
    }),
    // neither does this
    "filters": JSON.stringify({
      clicktrack: {
        settings: {
          enable: 0,
          enable_text: false
        }
      }
    }),
  },
  to: 'somebody@email.com',
  from: 'nobody@email.com',
  templateId: 'd-xxxxxxxxxxxxxxxxxxxxxxxx',
  dynamic_template_data: {
    subject: 'Hello World'
  }
})

為什么這不起作用?

我找到了答案 有一個可用的trackingSettings屬性:

const { SENDGRID_KEY } = process.env
const mail = require('@sendgrid/mail')
mail.setApiKey(SENDGRID_KEY)

mail.send({
  trackingSettings: {
    clickTracking: {
      enable: false,
      enableText: false
    }
  },
  to: 'somebody@email.com',
  from: 'nobody@email.com',
  templateId: 'd-xxxxxxxxxxxxxxxxxxxxxxxx',
  dynamic_template_data: {
    subject: 'Hello World'
  }
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM