Как отправить запрос HTTP POST с локального хоста в nodemailer, работающий на экземпляре AWS EC2

#node.js #reactjs #amazon-ec2

Вопрос:

Я новичок в системах REACTJ, NodeJ и Linux. Я разрабатываю приложение React, в котором я создаю форму «Свяжитесь со мной». Как только пользователь заполнит данные и сообщение, контактная форма должна отправить мне электронное письмо с моим идентификатором.

Я перешел по этой ссылке, и она отлично работает на моем локальном хосте: https://mailtrap.io/blog/react-contact-form/

Теперь для того, чтобы запустить мою внутреннюю часть (Express.js Nodemailer) 24×7, я перенес свой внутренний код на экземпляр AWS EC2. Используя SSH, я запускаю сервер и прослушиваю порт 5000. состояние порта на сервере Linux

Вот мой код: фрагмент кода

Является ли это правильным способом отправки запроса post с моего локального хоста на мой внутренний сервер?

Ответ №1:

Вероятно, вам следует использовать форму внутри кода реакции для обработки запроса post

 <form action="https://amazon-url/your-post-method" action="post">
    <!-- your inputs here -->
    <input type="submit"value="Submit"></input>
</form>
 

обязательно укажите свойство name в каждом вводе, который вы хотите отправить в своем сообщении, если у вас есть внутри формы, оно будет отправлено как свойство my_name в теле запроса. Форма отправит вам запрос на публикацию, когда вы нажмете кнопку Отправить.

Другой альтернативой является использование пользовательского js, подобного тому, который вы используете в своем методе кода, для этого вы можете использовать библиотеку, такую как Ajax или arios, для отправки запроса или api для извлечения js по умолчанию, ваш код должен работать просто отлично

Комментарии:

1. Спасибо за подсказку. Я использовал неправильный URL-адрес для отправки запроса на публикацию. Это "http://${AWS_INSTANCE_PUBLIC_IP}:5000/contact" не должно быть "http://${AWS_INSTANCE_PUBLIC_IP}:5000"