使用 Accounts.sendVerificationEmail() 发送电子邮件时出错

Error when sending email with Accounts.sendVerificationEmail()

感谢您阅读我的消息,这是我的问题: 我最近开始使用电子邮件包,我定义了 MAIL_URL 并成功发送了带有 Email.send() 的电子邮件。 但是现在我想发送验证邮件,但我收到了错误。这是我的代码:

在服务器上

Meteor.methods({
    'sendVerificationEmail'(){
        Accounts.sendVerificationEmail(Meteor.userId());
    }
});

在客户端

Meteor.call('sendVerificationEmail');

我收到以下错误: 通过一些研究,我发现了这个:

This message means that the email you sent was blocked by the recipient's email hosting server, and returned to you

我尝试 Accounts.sendVerificationEmail() 使用不同电子邮件(gmail、一次性电子邮件、我个人网站的电子邮件)的用户,但我总是遇到相同的错误。 奇怪的是 Email.send() 完美运行...

在此先感谢您的帮助。

编辑: 我用来发送这些电子邮件的电子邮件地址使用域 rezarahemtola.com 这是 Scott Stensland 在他的回答中要求我 运行 dig rezarahemtola.com ns 的结果:

您需要查看域名的 DNS 托管提供商...例如 example.com...确保您已添加 MX 记录类型...它通常使用一个值作为

10  example.com

您可以通过发出

获得有关您的 dns 托管位置的提示
dig  example.com  ns

显示其名称服务器 ( ns )

为遇到相同问题的任何人发布解决方案:

正如我所说,Email.send() 工作正常,但 Accounts.sendVerificationEmailAccounts.sendResetPasswordEmail 等出现错误

看起来 Meteor 在使用这些方法时无法自动检索发件人地址,因此您应该这样设置:

Accounts.emailTemplates.from = "Your_Name <your_email@example.com>";

你也可以check the docs about it.