You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除SendGrid脚本发送HTML邮件中链接的额外域名前缀?

解决SendGrid脚本发送邮件时链接被附加跳转前缀的问题

问题说明

用bash脚本通过SendGrid API发送邮件时,邮件内的链接会被自动加上跳转前缀(例如http://url8393.mydomain.com/ls/click?upn=SDFGOSODFGJSGJOADJFGDSJFGSDJKFG...),现在需要仅让这个脚本发送的邮件移除该前缀,同时保留其他邮件的原有设置。原脚本代码如下:

payload='{
  "personalizations": [
    {
      "to": [
        {
          "email": "'"$TO_EMAIL"'"
        }
      ],
      "subject": "'"$SUBJECT"'"
    }
  ],
  "from": {
    "email": "'"$FROM_EMAIL"'"
  },
  "content": [
    {
        "type": "text/html", 
        "value": "<!doctype html><html><head></head><body>Hello You link <a href=\"replacement_link\">Click</a></body></html>"
    }
  ],
}'

updated_payload=$(echo -e "${payload/replacement_link/"$url"}")


curl -v --request POST \
  --url https://api.sendgrid.com/v3/mail/send \
  --header "Authorization: Bearer $SENDGRID_API_KEY" \
  --header "Content-Type: application/json" \
  --data "$updated_payload"

解决方案

这个跳转前缀是SendGrid的链接跟踪功能自动生成的,要仅针对当前脚本的邮件关闭该功能,只需在请求的JSON payload中添加tracking_settings字段,明确关闭链接跟踪即可,不会影响账户全局的邮件设置。

修改后的payload代码如下:

payload='{
  "personalizations": [
    {
      "to": [
        {
          "email": "'"$TO_EMAIL"'"
        }
      ],
      "subject": "'"$SUBJECT"'"
    }
  ],
  "from": {
    "email": "'"$FROM_EMAIL"'"
  },
  "content": [
    {
        "type": "text/html", 
        "value": "<!doctype html><html><head></head><body>Hello You link <a href=\"replacement_link\">Click</a></body></html>"
    }
  ],
  "tracking_settings": {
    "click_tracking": {
      "enable": false,
      "enable_text": false
    }
  }
}'

参数说明

  • click_tracking.enable: false:关闭HTML格式邮件中的链接跟踪
  • click_tracking.enable_text: false:关闭纯文本格式邮件中的链接跟踪(如果后续脚本需要发送纯文本邮件,也能保证链接不被修改)

修改后,该脚本发送的邮件链接将保持原始状态,其他未添加该字段的SendGrid邮件请求会继续沿用原有设置。


内容的提问来源于stack exchange,提问作者Viji

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 09:53:17