【发布时间】:2021-03-11 13:25:13
【问题描述】:
我正在尝试使用 SendGrid 通过电子邮件地址发布到团队频道。但是,我通过 SendGrid 发送的电子邮件没有出现。我最终也添加了我的个人电子邮件地址,并且我确实收到了该地址,并且在“收件人:”字段中看到了 Teams 电子邮件地址。我还可以在 SendGrid 仪表板中看到电子邮件已发送并传递到 Teams 频道地址。我已经确认这个地址是正确的,并且还通过我的非工作电子邮件地址发布到该频道,所以我知道这不是因为拼写错误或外部电子邮件地址。我的猜测是电子邮件元数据中的某些内容使 Teams 拒绝了电子邮件?任何人都有想法 1) 为什么 Teams 不会发布来自 SendGrid 的电子邮件,以及 2) 我如何在 SendGrid 中修改我的请求以使其正常工作?此外,欢迎提出关于从 nodejs 发送电子邮件(免费)的替代建议。
这是我用来发送电子邮件以供参考的代码:
var msg = {
to: ['TEAMSCHANNELID@amer.teams.ms','mycompanyemail@company.com'], // ChatBot Support Team, General Channel
from: 'noreply@chatbotapimonitor.com',
subject: `Service Interruption Notice: API ${test} is down (via ${functionName})`,
text: `API ${test} failed with error ${error}`,
html: `API ${test} failed with error ${error}`
};
try {
await sgMail.send(msg);
} catch (err) {
context.log(err);
}
【问题讨论】:
-
为什么不直接使用 Incoming Webhooks?
-
没有为我们的租户启用 :(
-
也许您的组织将发送能力限制在某些域?具有管理员权限的人可以在Teams settings => 电子邮件集成下查看它
-
听到这个消息很难过。连接器呢?
-
@RobertDyjas 实际上似乎问题可能是发件人和“实际”发件人不一样(在 Outlook 中,我可以在发件人地址之后看到通过 sendgrid.net 发送)。我猜如果地址不匹配,Teams 不允许发布消息。我猜在 SendGrid 中启用域身份验证可能会解决问题,但不幸的是我不太可能获得批准......
标签: email microsoft-teams sendgrid