Вопрос по React формам
Как отправить форму созданную в React отправить на почту?
Ответы (1 шт):
У Вас возникает некоторое смешение понятий.
Есть "клиент" - это код, который работает в браузере. А загружается при этом с сервера, если мы вообще говорим про "сайт" (иначе, зачем нам реакт - форма?)
По логике того, как ОБЫЧНО проиходит отправка на почту, это делает СЕРВЕР.
То есть, Ваша реакт - форма должна как то передать введенные данные на сервер, сервер их "переварит" и отправит на почту, или запишет в базу данных, или опубликует в твиттере. Возможно, все это одновременно.
Но без передачи данных на сервер - у вас есть только браузер. И браузер может своими "джаваскриптовыми щупальцами" взаимодействовать только с тем сервером, с которого загружена страница, потому что Same-origin_policy.
Так что - нужна серверная часть.
К счастью, это не приговор. Серверных частей, которые умеют поймать submit формы и отправить содержимое на почту - сколько угодно, на любой вкус. Особой популяностью пользуется php.
Но можно найти на ноде или питончике.
В общем, вектор поиска у вас есть, попробуйте упростить задачу - сделать форму с одним полем, одной кнопкой, и без реакта. и отпраивть её на почту. Как только получится - можно усложнить задачу, и подключить настоящую рабочую форму, про которую и был вопрос.
К сожалению, есть еще одно препятствие. Я заранее про него предупрежу. Дело в том, что из за спамеров, не так просто найти почтовый сервер, через который можно посылать письма. Как правило, если Ваш сайт находится на каком то хостинге - это не проблема. В этом случае всю "черную работу" по выковыриванию своих почтовых серверов из черных списков "злостных спамеров" берет на себя тот провайдер, который предоставляет Вам услугу хостинга. Но если ссервер тестовый и находится у Вас дома - то могут быть трудности.
И еще одно дополнение.
Я немного подумал, и решил не быть столь категоричным.
Возможно, есть готовые библиотеки, подключив котрорые, Вы получите возможность отправлять письма прямо с клиентской стороны, из JS. В таком случае, это должен быть некий отдельный сервис (с присущими им правилами и ограничениями). Вот сборник способов, которые позволяют так или иначе отправить письмо "прямо из JavaScript"
Успехов вам!