【问题标题】:Nodemailer with ZOHO mail带有 ZOHO 邮件的 Nodemailer
【发布时间】:2018-01-28 01:25:35
【问题描述】:

我正在尝试使用 Nodemailer 设置 ZOHO 邮件。邮件配置正确,我正在使用以下代码发送邮件:

var transporter = nodemailer.createTransport({
    host: 'smtp.zoho.eu',
    port: 465,
    secure: true, //ssl
    auth: {
            user:'info@myaddress.be',
            pass:'supersecretpassword'
    }
});


sendMail = function(req,res) {


var data = req.body;

transporter.sendMail({
    from: data.contactEmail,
    to: 'info@myaddress.be',
    subject: data.contactSubject,
    text: data.contactMsg
});

res.json(data);

};

我联系了官方支持,但目前没有回复。也许这里有人有经验。问题是,当使用这些设置时,我收到一条消息,即变量“data.contactEmail”中的地址不允许中继。当我将电子邮件也更改为 info@myaddress.be 时,我确实收到了电子邮件,但当然我不知道是谁发送的,也无法回复。

任何知道如何使“发件人”地址与未知地址一起使用的人?喜欢 john@gmail.com 吗?

【问题讨论】:

    标签: node.js nodemailer zoho


    【解决方案1】:

    解决办法:

    您应该为您的服务器创建一个电子邮件帐户:bot@myaddress.be

    当您要转发邮件时,自定义 MAILBODY 包含主题和消息

    var MAILBODY ='\n[suject]:\n'+data.contactSubject+'\n\n[msg]:\n'+data.contactMsg;
    

    因此,您将发送原始 contactEmail 作为邮件的主题,并使用邮件的文本(正文)来设置邮件主题和邮件内容。

    transporter.sendMail({
        from: 'bot@myaddress.be',
        to: 'info@myaddress.be',
        subject: data.contactEmail,
        text: MAILBODY
    });
    

    解决原因:

    示例机器人帐户将能够向您自己发送包含您真正需要的所有详细信息的电子邮件。 (因为您控制该电子邮件帐户/您的域)

    【讨论】:

    • 这确实是一个解决方案。但是我认为您将无法在邮件客户端中按下“回复”按钮。然后,您必须从邮件正文中复制回复地址。还是我错了?
    • 是的,回复按钮不会以这种方式工作,如果您想要回复按钮,那么您必须构建自己的后端来自动回复原始邮件(换句话说,制作一个小型电子邮件客户端而不是使用机器人帐户将消息存储在数据库中)
    • 好的,现在我使用“机器人”解决方案,所以我会将您的解决方案标记为答案。但我不完全理解您对回复按钮的想法。您可能有带有示例或其他内容的教程吗?
    【解决方案2】:

    您提供的凭据用于您的 OWN 帐户,并且您正尝试从未知帐户发送电子邮件。这可能只有在您拥有未知帐户的凭据时才有可能(假设他们已允许对其他客户端/应用程序进行开放访问)。 您根本无法代表您没有凭据的帐户发送电子邮件。

    【讨论】:

      猜你喜欢
      • 2019-11-06
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 2019-05-21
      • 2015-01-13
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多