Чтобы отправить сообщение через Gmail SMTP в Node.js, вам потребуется использовать модуль nodemailer. Вот подробное объяснение, как настроить отправку сообщения через Google SMTP.
1. Установите nodemailer с помощью npm, выполните следующую команду в вашем терминале:
npm install nodemailer
2. Подключите модуль nodemailer в вашем скрипте с помощью следующей строки:
const nodemailer = require('nodemailer');
3. Создайте объект транспортера для отправки сообщения. Вы можете использовать следующий код для этого:
const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: '[email protected]', pass: 'your-password' } });
Убедитесь, что вы заменили '[email protected]' на вашу почту Gmail и 'your-password' на ваш пароль. Также обратите внимание, что некоторые поставщики ограничивают доступ к учетным записям из-за безопасности, поэтому вам может потребоваться отключить двухфакторную аутентификацию или установить специальный пароль-ключ для приложений.
4. Определите объект с настройками письма, указав адрес получателя, отправителя, тему и текст сообщения:
const mailOptions = { from: '[email protected]', to: '[email protected]', subject: 'Hello from Node.js', text: 'This is a test email sent from Node.js using Gmail SMTP' };
Замените '[email protected]' на вашу почту Gmail и '[email protected]' на адрес получателя.
5. Используйте метод sendMail
для отправки письма через ваш SMTP транспортер:
transporter.sendMail(mailOptions, function(err, info) { if (err) { console.error(err); } else { console.log('Email sent: ' + info.response); } });
Это асинхронная функция, которая принимает в качестве параметров объект mailOptions
и функцию обратного вызова, которая будет вызвана после отправки письма либо при ошибке.
В результате, ваш полный код для отправки сообщения Google SMTP в Node.js должен выглядеть так:
const nodemailer = require('nodemailer'); const transporter = nodemailer.createTransport({ service: 'gmail', auth: { user: '[email protected]', pass: 'your-password' } }); const mailOptions = { from: '[email protected]', to: '[email protected]', subject: 'Hello from Node.js', text: 'This is a test email sent from Node.js using Gmail SMTP' }; transporter.sendMail(mailOptions, function(err, info) { if (err) { console.error(err); } else { console.log('Email sent: ' + info.response); } });
Обратите внимание, что этот код работает только с Gmail SMTP. Если вы хотите использовать другого поставщика, вам нужно будет изменить настройки транспортера и настройки SMTP.