# Я погуглил это в течение 3 дней, но не смог найти ничего полезного. Я студент-разработчик, и я создал свой сайт-портфолио с контактной формой на той же странице, чтобы получать электронные письма. На моем dev-сервере все работает нормально, но после развертывания на azure все работает, кроме контактной формы. Пожалуйста помоги. Я оставлю ссылку ниже, если необходимо #
Вот основной контроллер, который имеет одностраничный метод (индекс) и метод, который отправляет почту
using Salomon_Porfolio.ViewModel;
using System;
using System.Net.Mail;
using System.Web.Mvc;
namespace Portfolio.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Blog()
{
return View();
}
[HttpPost]
public ActionResult MailSender(ContactFormVm form)
{
try
{
var mailMessage = new MailMessage { From = new MailAddress("mymail@gmail.com", "From my website") };
mailMessage.To.Add(new MailAddress("info@aol.com"));
mailMessage.CC.Add(new MailAddress("mymail@gmail.com"));
mailMessage.Body = form.Body;
mailMessage.Subject = form.Name;
var client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.EnableSsl = true;
mailMessage.IsBodyHtml = true;
client.Send(mailMessage);
return new EmptyResult();
}
catch (Exception e)
{
throw new Exception(e.StackTrace);
}
}
}
}
Скрипт, который отправляет методу через ajax
var formData = $("#contactForm").serialize();
$.ajax("/Home/MailSender", {
method: "POST",
data: formData,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
error: function(data){
console.log(data);
},
success: function(data){
console.log(data);
}
})
Конфигурация, которую я добавляю в мой файл web.config. Версия. Net - 4.6
<system.net>
<mailSettings>
<smtp from="mymail@gmail.com">
<network host="smtp.gmail.com" port="587" enableSsl="true" userName="mymail@gmail.com"
password="mypassword"/>
</smtp>
</mailSettings>
</system.net>
Контактная форма
<form class="contactForm" id="contactForm" method="post">
@Html.AntiForgeryToken()
<h3 class="formGroupClass">Contact me</h3>
<div class="form-group formGroupClass">
<label for="name">Name</label>
@Html.TextBoxFor(m => m.Name,
new { @class = "formGroupClass form-control", placeholder = "John Smith" })
</div>
<div class="form-group formGroupClass">
<label for="email">Email address</label>
@Html.TextBoxFor(m => m.Email, new { @class = "formGroupClass form-control" })
</div>
<div class="form-group formGroupClass">
<label for="textarea">Your message</label>
@Html.TextAreaFor(m => m.Body, 10, 55, new { @class = "formGroupClass form-control" })
</div>
<button class="btn btn-success" id="contactButton" type="submit">
send
<i class="fa fa-envelope-o"></i>
</button>
</form>
Сообщение об ошибке
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
[Exception: something went wrong]
Salomon_Porfolio.Controllers.PageController.MailSender(ContactFormVm form) in C:\\Users\\Administrator\\Downloads\\SalomonPortolio_MVC Version\\Controllers\\PageController.cs:49\r\n lambda_method(Closure , ControllerBase , Object[] ) +104\r\n System.Web.Mvc.<>c__DisplayClass10_0.<WrapVoidAction>b__0(ControllerBase controller, Object[] parameters) +14\r\n System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14\r\n System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +169\r\n