Как отправить на почту JS данные Modx?

Для отправки данных на почту с использованием JavaScript в MODX (MODX Evolution или MODX Revolution) можно воспользоваться встроенными средствами PHP и AJAX. Вот примерный алгоритм действий:

1. Создайте форму на странице MODX, в которой пользователь будет вводить свои данные. Например:

<form id="contact-form">
    <input type="text" name="name" placeholder="Имя">
    <input type="email" name="email" placeholder="Email">
    <textarea name="message" placeholder="Сообщение"></textarea>
    <button type="button" onClick="sendData()">Отправить</button>
</form>

2. Напишите JavaScript функцию sendData(), которая будет собирать данные из формы и отправлять их на сервер через AJAX. Пример реализации с использованием jQuery:

function sendData() {
    var formData = $('#contact-form').serialize();
    
    $.ajax({
        type: 'POST',
        url: 'send_email.php', // Создайте файл send_email.php, который будет обрабатывать отправку писем
        data: formData,
        success: function(response) {
            alert('Письмо успешно отправлено!');
        },
        error: function(xhr, status, error) {
            console.error(error);
        }
    });
}

3. Создайте файл send_email.php в корне вашего MODX сайта, который будет обрабатывать данные и отправлять письмо на указанный вами email. Пример:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    
    $to = "[email protected]";
    $subject = "Новое сообщение с сайта";
    $body = "Имя: ".$name."nEmail: ".$email."nnСообщение:n".$message;
    
    if (mail($to, $subject, $body)) {
        echo "Письмо успешно отправлено";
    } else {
        echo "Ошибка отправки письма";
    }
}
?>

4. Не забудьте настроить сервер для отправки почты. Возможно, вам потребуется sked_mail из среды разработки.

Это был примерный алгоритм отправки данных на почту с использованием JavaScript и MODX. Не забывайте о безопасности и обработке входных данных!