Итак, я новичок в node и реагирую, и я пытался настроить nodemailer. На данный момент он работает нормально, если я не запустил его с помощью React.
Я начинаю новый проект с npm init -y
, затем npm install nodemailer
и в файле с именем index.js
у меня есть следующее:
const nodemailer = require('nodemailer');
const handleClick = () => {
var transport = nodemailer.createTransport({
host: "smtp.mailtrap.io",
port: 2525,
auth: {
user: "user",
pass: "pass"
}
});
const message = {
from: 'test@test.com',
to: 'to@email.com',
subject: 'This is very frustrating',
text: 'I wish I knew why this is not working in React'
};
transport.sendMail(message, function (err, info) {
console.log("transport.sendMail called")
if (err) {
console.log(err)
} else {
console.log(info);
}
});
}
handleClick();
Я запускаю это с помощью node index.js
, и он работает, как ожидалось, и я могу просмотреть электронную почту в mailtrap.io (поддельный SMTP-сервер, который я нашел для тестирования).
Однако! Моя проблема возникает, когда я пытаюсь сделать это в своем проекте React.
У меня есть следующая (точно такая же функция handleClick ()) в Contact. js
import React from 'react';
import './App.css';
const nodemailer = require('nodemailer');
const Contact = () => {
const handleClick = () => {
var transport = nodemailer.createTransport({
host: "smtp.mailtrap.io",
port: 2525,
auth: {
user: "user",
pass: "pass"
}
});
const message = {
from: 'test@test.com', // Sender address
to: 'to@email.com', // List of recipients
subject: 'This is very frustrating', // Subject line
text: 'I wish I knew why this is not working in React' // Plain text body
};
transport.sendMail(message, function (err, info) {
console.log("transport.sendMail called")
if (err) {
console.log(err)
} else {
console.log(info);
}
});
}
return (
<button onClick={handleClick}>CLICK</button>
)
}
export default Contact
Который я использую как <Contact/>
в моем приложении. js файл. Кнопка отображается, и щелчок работает. Но transport.sendMail()
даже не выполняется (я не вижу вывода из console.log("transport.sendMail called")
)
Я не уверен, как даже начать отладку, и я потратил довольно много времени на поиск в Google, но я Пока не нашел ничего полезного, только примеры, которые делают то же самое, что и я. Любая помощь будет принята с благодарностью.
Более подробная информация (я не думаю, что это актуально, но в том числе на всякий случай) о моем проекте реакции
- Я начал проект React, используя
npx create-react-app
, а затем запускаю его с помощью npm start
, он работает на localhost и порту 3000 - Я использую responsestrap
- При нажатии кнопки в моем приложении React я вижу это , а при раскрытии (оба) выглядят как это