Sendgrid更改链接的href

Posted

技术标签:

【中文标题】Sendgrid更改链接的href【英文标题】:Sendgrid change href of link 【发布时间】:2017-04-02 21:24:06 【问题描述】:

我将 Nodejs 与 Express 一起使用,并且通过 Sendgrid 发送电子邮件,但 Sendgrid 正在更改 href 链接

var emailText = '<!DOCTYPE html><html><head><meta charset="UTF-8"></head><body><a href="https://www.google.com">Here</a></body></html>'
var from_email = new helper.Email('contact@test.com');
var to_email = new helper.Email('contact@test2.com');
var subject = 'Test';
var content = new helper.Content("text/html", emailText)
var mail = new helper.Mail(from_email, subject, to_email, content);                                            
var request = sg.emptyRequest(
    method: 'POST',
    path: '/v3/mail/send',
    body: mail.toJSON(),
);
sg.API(request, function(error, response) 
    if (error) 
        console.log('Error response received');
    
    console.log(response.statusCode);
    console.log(response.body);
    console.log(response.headers);
);

当电子邮件到达时,会出现以下链接:

https://u4006412.ct.sendgrid.net/wf/click?upn=rOQ9fjZGp5r0JyNfoC02LbL.....

有人可以帮我解决这个问题吗?

【问题讨论】:

【参考方案1】:

我认为这是由 sendgrid 的 URL 点击跟踪功能引起的。它将重定向到您想要的资源,但看起来并不漂亮。您可以在 sendgrid 中将其关闭,但它将禁用对该帐户发送的所有电子邮件的 URL 跟踪。如果您正在与 bit.ly 等第 3 方链接跟踪器集成,或者您的 GA 处于锁定状态,这可能不会打扰您。

这里是关于 sendgrid 功能的更多信息:https://sendgrid.com/docs/User_Guide/Settings/tracking.html

将其关闭,然后查看您的电子邮件的外观。

更新:Sendgrid 中的白标

Sendgrid 还具有白标功能,允许您从您的子域之一提供 URL,同时仍跟踪通过其服务器的点击/打开。如果您担心链接的美观性或从用户体验的角度感知的安全性,这可能是要走的路。

查看他们的overview of whitelabeling 和 link whitelabeling 文档页面。请务必遵循 sendgrid 关于电子邮件中域使用的建议。这确保了交付的高成功率。

【讨论】:

值得注意的是,使用此功能的 sendgrid 添加了类似的链接:sendgrid.com/docs/User_Guide/Transactional_Email/… 请记住,有时需要一些时间才能使此更改生效。不多,对我来说只用了 5 分钟,但如果更改后立即进行测试,足以让您认为它不起作用。【参考方案2】:

您可以专门针对某个链接关闭 Sendgrid 跟踪。 为此,您必须在 href 标签之前添加 clicktracking="off"

这样做

&lt;a clicktracking="off" href='https://mysite/auth/'&gt;My Site&lt;/a&gt;

【讨论】:

您应该使用更多详细信息更新您的答案。提及此代码用于关闭单个链接的跟踪等。

以上是关于Sendgrid更改链接的href的主要内容,如果未能解决你的问题,请参考以下文章

我们如何删除sendgrid电子邮件中的丑陋链接?

从 root@servername 更改外发邮件地址 - rackspace sendgrid postfix [关闭]

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

使用 phpmailer 和 sendgrid 设置直接电子邮件链接时遇到问题

Rails - SendGrid - 无效响应错误

使用 Sendgrid/Nodemailer 将 Angular 表单数据发布到 Node.js