【问题标题】:Sending an email to user in JavaScript + Node.js (nodemailer?)在 JavaScript + Node.js 中向用户发送电子邮件(nodemailer?)
【发布时间】:2019-11-05 04:11:25
【问题描述】:

我创建了一个购物 React 应用程序,我想在用户单击购买按钮后向他发送一封批准邮件。 我已经研究过,但找不到这样做的方法。 我试过 nodemailer 但它只让你给自己发一封电子邮件(意思是代码中预先指定的地址)

任何人都知道一个包/方法来做到这一点?

编辑:这是使用 nodemailer 的答案 -

重要 - 如果您想使用 Gmail 作为发件人帐户,您需要启用 通过此链接在您的 Gmail 帐户中使用不太安全的应用程序: https://myaccount.google.com/lesssecureapps

        const transporter = nodemailer.createTransport({
        service : 'gmail',
        auth: {
            user: 'YOUR_MAIL_ADDRESS',
            pass: 'YOUR_MAIL_PASSWORD'
        },
        tls:{
            rejectUnauthorized:false
          }
    });

    let mailOptions = {
        to: "RECIPIENT_MAIL_ADDRESS",
        subject: 'Node Contact Request', // Subject line
        text: 'Hello world?', // plain text body
        html: htmlMail // html body
    };


    transporter.sendMail(mailOptions, (error, info) => {
        if (error) {
            return console.log(error);
        }
        console.log('Message sent: %s', info.messageId);   

    });

【问题讨论】:

  • 您可以在sendMail 方法中更改to 参数并发送电子邮件给任何人。
  • 谢谢,但我无法让它工作。我已经用我正在使用的代码编辑了我的主要消息,你能看一下吗?顺便说一句,如果这意味着什么,请尝试发送到 gmail 帐户。
  • 你遇到了什么错误?
  • 我最终找到了解决方案 - 用它为其他人编辑了我的主要信息。原来 Ethereal 测试帐户不会发送实际消息,因此我需要使用实际邮件帐户来发送。谢谢
  • 好的,你也可以看看mailgun.com,他们有免费的有限选项。

标签: javascript node.js email nodemailer


【解决方案1】:

使用Nodemailer

let useEmail ="myemail@gmail.com"
let info = await transporter.sendMail({
    from: '"Fred Foo ?" <foo@example.com>', // sender address
    to: userEmail, // list of receivers
    subject: "Hello ✔", // Subject line
    text: "Hello world?", // plain text body
    html: "<b>Hello world?</b>" // html body
  });

这里,“to”只是一个字符串。

您可以获取用户的电子邮件,将其存储在代码中的某个位置(Redux 或 AsyncStorage 或获取用户输入)并在 to 字段中使用它。

【讨论】:

    猜你喜欢
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 2020-11-17
    • 2021-08-06
    • 1970-01-01
    • 2015-05-19
    相关资源
    最近更新 更多