Вопрос или проблема
Я пытаюсь настроить способ заполнения онлайн формы (на JavaScript) и отправки этих данных на рабочую электронную почту моей матери, чтобы она могла связаться с клиентами или сделать что-то другое. Я хорошо разбираюсь в Java, JavaScript и C++, поэтому будет здорово, если это будет на этих языках. Однако я готов учиться и другим. Я не профессионал, и если у вас есть другие вопросы, дайте знать. Если у вас есть лучший способ сделать это или более простой метод, буду рад услышать предложения.
Спасибо.
В “старые времена” вы могли создать простую HTML-форму с method
, установленным на mailto
, и браузер запускал почтовый клиент системы для отправки письма. Это никогда не работало хорошо (это было в середине-конце 90-х).
На самом деле, вам нужно использовать JavaScript на стороне клиента для проверки данных (возможно), а затем отправить их с помощью post
на скрипт, размещенный на веб-сервере, который работает на стороне сервера и отправляет электронное письмо.
Существует множество бесплатных и платных решений на разных языках, или вы можете написать свое собственное — я делал это на Perl, PHP и Java и знаю других, кто делал это на Python и даже на Visual Basic (как CGI-скрипт в настройке Windows+Apache). Но чтобы дать рекомендацию, нам нужно знать, какая операционная система используется на сервере и какие языки/технологические стеки доступны (т.е. LAMP, MEAN, Tomcat+Java и так далее).
Ответ или решение
Для решения вашей задачи, предлагаю использовать подход, который включает в себя обработку формы на стороне клиента с помощью JavaScript и отправку данных на сервер с помощью серверного языка, который вам подходит. Ваша цель – заполнить онлайн-форму, отправить ее данные на бизнес-электронную почту вашей матери и возможно использовать Java, JavaScript или другие языки, с которыми вам уже знакомо.
Общий подход
-
Создание HTML-формы:
Начнем с создания простой HTML-формы для сбора данных. Вот пример:<form id="contactForm"> <label for="name">Имя:</label> <input type="text" id="name" name="name" required> <label for="email">Электронная почта:</label> <input type="email" id="email" name="email" required> <label for="message">Сообщение:</label> <textarea id="message" name="message" required></textarea> <button type="submit">Отправить</button> </form>
-
JavaScript для валидации и отправки данных:
Добавьте JavaScript для обработки формы и отправки данных:document.getElementById('contactForm').addEventListener('submit', function(event) { event.preventDefault(); // предотвратить стандартное поведение const formData = new FormData(this); const data = Object.fromEntries(formData.entries()); fetch('sendEmail.php', { // URL вашего серверного скрипта method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data) }) .then(response => { if (response.ok) { alert('Сообщение успешно отправлено!'); } else { alert('Ошибка при отправке сообщения.'); } }) .catch(error => { console.error('Ошибка:', error); }); });
-
Серверный скрипт на PHP:
Если у вас есть доступ к серверу с поддержкой PHP, вот простой пример скриптаsendEmail.php
для отправки электронной почты:<?php // Получение данных из JSON $data = json_decode(file_get_contents('php://input'), true); // Настройка заголовков электронной почты $to = 'mother@example.com'; // замените на реальную электронную почту $subject = 'Новое сообщение с сайта'; $message = "Имя: " . $data['name'] . "\n"; $message .= "Электронная почта: " . $data['email'] . "\n"; $message .= "Сообщение: " . $data['message'] . "\n"; // Отправка электронной почты $headers = 'From: ' . $data['email']; if (mail($to, $subject, $message, $headers)) { http_response_code(200); echo json_encode(['message' => 'Сообщение отправлено']); } else { http_response_code(500); echo json_encode(['message' => 'Ошибка при отправке сообщения']); } ?>
Резюме
В этом примере описан полный процесс сбора данных с формы и отправки их на электронную почту. JavaScript используется для валидации данных и отправки их на сервер, а PHP отвечает за обработку и отправку электронной почты. Если вы хотите использовать другие языки, вам потребуется соответствующий серверный обработчик, например, на Java (с использованием Servlet или Spring), Python (Flask или Django) и т.д.
Если у вас есть доступ к серверу и языкам программирования, с которыми вы знакомы, вы можете адаптировать эту структуру для своих нужд. Если что-то осталось неясным или вам нужна помощь с другим языком, дайте знать!