【发布时间】:2022-06-22 16:47:45
【问题描述】:
我正在尝试从我的 Outlook 帐户(office 365 电子邮件)向我自己/我的组织中的其他人发送电子邮件。并从我的电子邮件中发送给我的用户,这些用户可能在办公室,也可能不在办公室。
我正在使用 Nodejs 和 Typescript,这一切都是通过我自己的电子邮件(我们组织的电子邮件)在服务器上发生的。所以这应该不需要人工交互/访问令牌或任何不应该过期的东西,需要手动设置,但应该是自动的或设置一次。
我尝试了以下设置
const mailOptions = {
from: "FROM@DOMAIN.AI",
to: "TO@DOMAIN.AI",
subject: req.title,
text: req.contents,
};
const info = await transporter.sendMail(mailOptions);
export const transporter = nodemailer.createTransport({
service: "Outlook365",
auth: {
user: "FROM@DOMAIN.AI",
pass: "pass",
},
});
这是我遇到的错误
[Node] error: Invalid login: 535 5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator. [VI1PR0501CA0022.eurprd05.prod.outlook.com]
在本地开发时会在 localhost 上发生这种情况,但稍后我会将其部署到 heroku。
我尝试了什么:
- Tried this solution and enabled Authenticated SMPT
- 尝试使用 OAUTH 并注册一个 azure 项目,但没有关于如何进行 SERVER-TO-SERVER 通信而不是客户端到服务器通信的资源。
我需要做什么:
-
我在组织中有电子邮件 A,我们有一个共享收件箱 B。理想情况下,我可以将电子邮件从 B 发送到 B(当用户向我们发送消息时,我希望它在共享收件箱中接收)
-
能够从 B(共享收件箱)发送给我们组织之外的其他用户(我们的应用用户)
在搜索和阅读文档数小时后,我无法确定这是否可行。所有解决方案都提到了 Azure,而我什至没有在我的应用程序中使用 Azure。我只需要通过我们的业务电子邮件(共享收件箱电子邮件)向我们自己和我们的用户发送电子邮件。我不使用任何 azure 服务,文档很大,很难导航,所以我不知道发生了什么。
【问题讨论】:
标签: node.js azure email outlook nodemailer