Cpanel 和 Nodemailer

Cpanel and Nodemailer

我一直在尝试从 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 块,我会收到此错误:

(node:14224) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 12): Error: getaddrinfo ENOTFOUND aventador.websitewelcome.com hostname.websitehello.com:465

上面的代码有什么问题可以阻止它吗?

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