【问题标题】:Cpanel and NodemailerCpanel 和 Nodemailer
【发布时间】:2017-08-10 05:52:34
【问题描述】:

我一直在尝试通过 Cpanel 上的电子邮件使用 Nodemailer 发送电子邮件。当我使用 Gmail 时,它运行良好,但现在我切换到 Cpanel(托管企业邮箱的地方),我没有收到错误,只是没有发送电子邮件。这是我的 Nodemailer 代码:

var nodemailer = require("nodemailer")
var smtpTransport = require("nodemailer-smtp-transport")

var transporterDetails = smtpTransport({
    host: 'my host',
    port: 465,
    secure: true,
    auth: {
        user: "example@emample.co.uk",
        pass: "password123"
    },
    maxConnections: 5,
    maxMessages: 10
})

module.exports = {
    queryEmail: function(name, number, email, comments){
        var transporter = nodemailer.createTransport(transporterDetails);
        var mailOptions = {
            from: 'example@example.co.uk',
            to: 'example@example.com',
            subject: "New Email",
            html: "<p> An Email.</p>"
        };
        transporter.sendMail(mailOptions);
    },
 ...

我从 Cpanel 邮箱中获取了主机详细信息,如下所示:

我已经尝试了许多基于 Cpanel 邮箱配置的不同配置,但似乎没有任何效果(我在没有 SMTP 块的情况下尝试过,只是在 create transporterFunction 中直接传递对象)。如果没有 SMTP 块,我会收到此错误:

(节点:14224)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 id:12):错误:getaddrinfo ENOTFOUND aventador.websitewelcome.com hostname.websitehello.com:465

上面的代码看起来有什么问题可能会阻止它吗?

【问题讨论】:

    标签: node.js cpanel nodemailer


    【解决方案1】:

    如果应用程序托管在 cPanel 服务器上,您可以使用 host: 'my host', localhost 代替您的实际 dns 记录或主机名,因为您在本地连接到邮件服务器。试一试。

    【讨论】:

    • 很遗憾,它没有托管在同一个 cPanel 服务器上。
    • 那么您确定电子邮件正在使用具有完全相同设置的电子邮件客户端工作吗?!
    • 我已经设置了我认为正确的设置,但我希望有 Cpanel 经验的人可以告诉我其他情况或发现我的代码有问题。
    • 老实说,我认为这不是与 cpanel 相关的问题,而是由于Error: getaddrinfo ENOTFOUND 而导致的 DNS 问题或与此相关的任何问题。此链接可能对您有所帮助:stackoverflow.com/questions/17690803/…
    猜你喜欢
    • 2017-01-06
    • 2014-04-27
    • 2020-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多