ASP.NET MVC 3 SMTP MAIL ОШИБКА - PullRequest
       2

ASP.NET MVC 3 SMTP MAIL ОШИБКА

1 голос
/ 19 июля 2011

Вот мой web.config

<system.net>
 <mailSettings>
   <smtp from="myemail">
    <network host="ispsmtpaddress" port="25" userName="user" password="pass"    defaultCredentials="true" />
    </smtp>
  </mailSettings>
</system.net>

это ниже закрывающего тега system.web

Вот мой контроллер;

[AcceptVerbs(HttpVerbs.Get)]
      public ViewResult ContactUs()
       {
          return View();
        }

      [AcceptVerbs(HttpVerbs.Post)]
       public ViewResult ContactUs(ContactMessage message)
        {
           string successMessage = "Your message was sent successfully.";

        try
        {
            MailMessage email = new MailMessage()
            {
                Subject = "Email from EmailForm",
                Body = message.MessageBody,
                IsBodyHtml = false,
                From = new MailAddress(message.Email, message.Name)


            };

            email.To.Add(new MailAddress("daniel@mailtosendto.com", "Name Of My Project"));

            SmtpClient server = new SmtpClient();

            server.Send(email);
        }
        catch (Exception ex)
        {
            successMessage = ex.Message;
        }

        ViewData["SuccessMessage"] = successMessage;
        return View();
    }

вот моймодель;

  namespace NewAtAClick.Models
{
    public class ContactMessage
   {
    public string Name { get; set; }
    public string Email { get; set; }
    public string MessageBody { get; set; }
}

}

И мой взгляд

  @using (Html.BeginForm())
   {
    <div>
      <p>@ViewData["SuccessMessage"]</p>
    Name
    <div>
         @Html.TextBox("Name", String.Empty, new { @class = "cls-text-input" })
    </div>
    Email
    <div>
        @Html.TextBox("Email", String.Empty, new { @class = "cls-text-input" })
    </div>
    Message
    <div>
         @Html.TextArea("MessageBody")
    </div>
    <div>
        <input type="submit" value="Submit Message" />
    </div>
</div>

Это ошибка, которую я получаю на экране

'Узел smtpне указан ". Я включил smtp-адрес своего провайдера в web.config. Я пробовал несколько разных конфигураций, но это не сработало. Я занимаюсь разработкой на своей локальной машине, поэтому я также попробовал locaLhost без пользователяи пройти, но ничего. Любая помощь будет принята с благодарностью. Спасибо!

1 Ответ

1 голос
/ 19 июля 2011

Вы должны установить defaultcredentials в web.config в false, чтобы использовать предоставленные пользователем учетные данные.

Также установите метод доставки по SMTP для сети

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...