Отправить письмо AJAX в функции Javascript без использования PHP - PullRequest
0 голосов
/ 21 октября 2019

Мне дали сайт для работы, и я не очень знаком с AJAX. Я надеялся, что есть простое решение для URL: часть Ajax, чтобы отправить электронное письмо. Я бы предпочел не использовать PHP-скрипт вместо того, что уже есть, но при необходимости я могу.

Это для веб-сайта, который в основном загружается с помощью простого HTML-кода, и соглашения об именах являются стандартными.

<script>
    $("#btnSend").click(function () {

        var email = $('#txtFromEmail').val();

        if (($('#txtName').val().length === 0) || (email.length === 0) ||
            ($('#txtSubject').val().length === 0) || ($('#txtBody').val().length === 0)) {
            alert("Please fill out all of the form.");
        } else {
            var emailModel = {
                Name: $('#txtName').val(),
                FromEmail: $('#txtFromEmail').val(),
                Subject: $('#txtSubject').val(),
                Body: $('#txtBody').val()
            };

            $.ajax({
                url: "@Url.Action("Contact", "Main")",
                type: 'POST',
                contentType: "application/json; charset=utf-8",
                data: JSON.stringify(emailModel),
                success: function (result) {
                    if (result.message.length == 0) {
                        alert("Message Sent Successfully!");
                    } else {
                        alert("Message failed to send. Please try again or call the Sports Hub");
                    }
                }
            });
        }
    });
</script>

Ответы [ 3 ]

1 голос
/ 21 октября 2019

Ajax может делать HTTP-запросы. Это все.

Если вы хотите отправить электронное письмо, вам необходимо:

  • Использовать почтовый клиент пользователя (а не Ajax), который весьма ненадежно
  • Отправить HTTP-запрос веб-службе, которая отправит электронное письмо

Вы можете написать веб-службу на PHP или использоватьдругой язык программирования (кажется, вы используете ASP.NET, так что подойдет любой язык, совместимый с ASP.NET), или вы можете найти стороннюю размещенную службу.

0 голосов
/ 21 октября 2019

вы можете использовать почтовый веб-сервис для этого. я заменил свою страницу PHP, потому что это было очень сложно, когда я перешел с godaddy на aws. проверить формыВы сможете интегрировать через интерфейс. на первом письме вы должны будете принимать электронные письма, если вы это сделаете, все остальные письма будут отправлены вам.

0 голосов
/ 21 октября 2019

Нет способа отправить электронное письмо напрямую из Javascript.

Либо вы используете php, либо открываете почтовый клиент прямо из браузера:

window.open('mailto:test@example.com');

Если вы хотите пройтиДополнительные параметры вы можете использовать следующую строку:

window.open('mailto:test@example.com?body=body&subject=subject');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...