我正在尝试使用SendGrid的邮件Firebase Cloud Functions从我的client for Node.js发送电子邮件
我遵循他们的示例,描述如下:
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(functions.config().sendgrid.key);
const msg = {
to: 'my_own_mail@gmail.com',
from: 'my_other_own_mail@gmail.com',
subject: 'Sending with Twilio SendGrid is Fun',
text: 'and easy to do anywhere, even with Node.js',
html: '<strong>and easy to do anywhere, even with Node.js</strong>',
};
sgMail.send(msg);
一旦函数被触发,一切都将成功执行。在我的功能日志中,我得到状态202 ,并且实际的邮件已发送,但不是在主邮箱中,而是在垃圾邮件文件夹中。当我打开邮件时,它只是说:
我不太了解问题所在。
注意:如果我将邮件发送到Yahoo电子邮件,则不会进入“垃圾邮件”文件夹。如果将其发送到我的公司电子邮件中,同样适用。
答案 0 :(得分:0)
您的问题与云功能或代码无关,您需要遵循一些反垃圾邮件规则,this gave me a good starting point
答案 1 :(得分:0)
Sendgrid不会将您的邮件发送到SPAM文件夹,这完全取决于收件人的邮件传递流垃圾邮件过滤器。
由于以下原因之一,大多数邮件被标记为垃圾邮件
1。邮件未正确验证
2。您的消息来自黑名单中的IP(可能在Sendgrid的IP上)
尝试向自己发送一条消息,然后打开message headers,然后查找下面的条目
Received: from xxxxxxxxx.com (xxxxxxx.com [xxx.xx.xxx.xx])
by xxxx.com with SMTPS id ##############
[]之间的IP是发送服务器IP,尝试使用spamhaus之类的公共黑名单来查看它是否被列入黑名单,如果找到匹配项,则向Sendrig报告
3。您的邮件内容具有已知的网上诱骗技术(无论是否是偶然的)
检查Gmail senders guidelines的“设置邮件格式”部分作为一般建议