我的目标是直接从node.js服务器发送电子邮件用户的电子邮件,我使用Sendgrid发送这些电子邮件。它的工作原理,但问题是,它直接发送到垃圾邮件文件夹。这是我从Sendgrid网站上复制的代码
const helper = require('sendgrid').mail;
const from_email = new helper.Email("testing2@gmail.com");
const to_email = new helper.Email(user.email)
const subject = "Reset your password on Hackathon Starter";
const content = new helper.Content("text/plain", `You are receiving this email because you (or someone else) have requested the reset of the password for your account.\n\n
Please click on the following link, or paste this into your browser to complete the process:\n\n
http://${req.headers.host}/reset/${token}\n\n
If you did not request this, please ignore this email and your password will remain unchanged.\n`);
const mail = new helper.Mail(from_email, subject, to_email, content);
const sg = require('sendgrid')('APIKEY');
const request = sg.emptyRequest({
method: 'POST',
path: '/v3/mail/send',
body: mail.toJSON()
});
sg.API(request, function(error, response) {
console.log(response.statusCode);
console.log(response.body);
console.log(response.headers);
});
我需要满足哪些要求才能直接发送到用户的收件箱?
答案 0 :(得分:1)
我不认为这个问题来自你的代码本身。如果邮件已到达预期的收件箱(即使在垃圾邮件文件夹中),您的代码也没问题。它可以来自各种设置,我建议你阅读sendgrid的这篇vblog帖子:https://sendgrid.com/blog/10-tips-to-keep-email-out-of-the-spam-folder/
答案 1 :(得分:0)
在我的情况下,由于锚标签与实际调用的href不同,因此我的电子邮件被标记为垃圾邮件。 那是因为sendgrid的“点击跟踪”设置。
因此,如果您有类似
<a href="http://yourdomain.com">yourdomain.com</a>
sendgrid可能会替换href,您最终会得到类似以下内容:
<a href="http://sendgrid.net/....<very-long-url>.......">yourdomain.com</a>
被调用的sendgrid页面跟踪点击,然后将用户重定向到您最初设置的url。但这有时会导致您的电子邮件被标记为垃圾邮件。
尝试将sendgrid仪表板中的“点击跟踪”设置为关闭:设置|追踪|点击跟踪。
详细信息:https://sendgrid.com/docs/ui/account-and-settings/tracking/