Отправка электронной почты пользователю в JavaScript + Node.js (nodemailer?) - PullRequest
0 голосов
/ 22 июня 2019

Я создал приложение 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);   

    });

1 Ответ

1 голос
/ 22 июня 2019

Использование 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.

...