У меня есть страница с формой контакта, расположенной внизу.Отправка электронной почты без обновления страницы
Что я пытаюсь достичь - отправьте электронное письмо с сайта без обратной связи, которое перезагрузит всю страницу и переместит клиента в начало страницы (форма «контакт-мы» находится внизу).
Вместо этого - клиент нажмет кнопку отправки, а затем появится какой-то жест, по которому была отправлена почта.
Я знаю, как отправлять почту с помощью обычного подхода, что я пытаюсь выполнить, это отправить его с клиентской стороны с помощью jquery.ajax - это лучший способ для этого сценария?
Что я сделал, что стороне клиента:
$('#btnSubmit').on('click', function() {
var fullName = $('#txt_fullName').val();
var fromEmail = $('#txt_email').val();
var comments = $('#txtArea_message').val();
var fromPhone = $('#txt_phone').val();
var data = "{'name': '" + name + "', 'fromEmail': '" +
fromEmail + "', 'comments': '" + comments + "', 'fromPhone': '" + fromPhone + "'}";
if (contactus == 0) {
$.ajax({
type: "POST",
url: "Default.aspx/sentMail",
data: data,
contentType: "application/json; charset=utf-8",
dataType: "json"
})
}else if (contactus == 1)
return false;
})
В стороне сервера у меня есть это:
tring sender_email = txt_email.Text;
string sender_fullName = txt_fullName.Text;
string sender_phone = txt_phone.Text;
string sender_message = txtArea_message.Text;
MailMessage MyMailMessage = new MailMessage();
MyMailMessage.From = new MailAddress("[email protected]", "Site");
MyMailMessage.To.Add("[email protected]");
MyMailMessage.Subject = "messge from site";
MyMailMessage.Body = "message";
MyMailMessage.IsBodyHtml = true;
try
{
SmtpClient SMTPServer = new SmtpClient();
SMTPServer.Send(MyMailMessage);
}
catch (Exception ex)
{
}
Это не работает - и я не знаете (почему я могу отлаживать это с помощью Google chrome?)
где переменные данных? – K3rnel31
Если вы уже знакомы с обычным подходом (и особенно если у вас уже есть рабочий код для этого), самым быстрым способом для этого было бы включить кнопку SEND и связанные элементы управления в UpdatePanel. Таким образом, вы сохраняете свой знакомый код и без каких-либо изменений кода избегаете полного обратного перевода страницы. –
Запускаете ли вы это на сервере, на котором установлено действующее программное обеспечение для отправки почты? – adeneo