我正在使用带有Express的Nodejs,我正在通过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.....
有人可以帮我解决这个问题吗?
答案 0 :(得分:5)
我认为这是由sendgrid的URL点击跟踪功能引起的。它将重定向到您的预期资源,但看起来不漂亮。您可以在sendgrid中关闭它,但它会禁用该帐户发送的所有电子邮件上的URL跟踪。如果您正在与第三方链接跟踪器(例如bit.ly)集成或让您的GA处于锁定状态,这可能不会打扰您。
以下是有关sendgrid功能的更多信息:https://sendgrid.com/docs/User_Guide/Settings/tracking.html
关闭此功能,查看电子邮件的外观。
Sendgrid还具有白标功能,允许您从其中一个子域提供网址,同时仍然通过其服务器跟踪点击/打开。如果您从用户体验的角度关注链接的可爱性或感知安全性,那么这可能就是您的选择。
查看他们的overview of whitelabeling和 link whitelabeling个doc页面。请务必遵循sendgrid关于电子邮件中域名使用情况的建议。这确保了交付的高成功率。
答案 1 :(得分:0)
只需在您的href标记之前添加clicktracking = off
"<a clicktracking=off href='https://mysite/auth/'>My Site</a>"