0
Guys, I have an Asp.net mvc application that will only have a single page, which is index.cshtml. On this page I have a contact form, so he is not sending the captured message to my email, someone would help me solve this, follow below my code.
Index.cshtml - Here is my form
 <div class="w3-col m6">
        <form action="@Url.Action("Index", "Home")" method="post">
            <div class="w3-row-padding" style="margin:0 -16px 8px -16px">
                <div class="w3-half">
                    <div class="form-group">
                        <label for="exampleSelect1">Você aceita essa proposta?</label>
                        <select class="form-control" id="exampleSelect1">
                            <option>Sim</option>
                            <option>Não</option>
                        </select>
                    </div>
                </div>
            </div>
            <input class="w3-input w3-border" type="text" placeholder="Deseja dizer algo?" required name="Mensagem">
            <button class="w3-button w3-black w3-section w3-right" type="submit">ENVIAR</button>
        </form>
    </div> 
Homecontroller.Cs - Here is the logical part that will take care of smtp
 public class HomeController : Controller
    {
        // GET: Home
        [HttpGet]
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Index(string exampleSelect1, string Mensagem)
        {
            //Faça validação adicional nos seus parâmetros de entrada
            if (!string.IsNullOrWhiteSpace(exampleSelect1) && !string.IsNullOrWhiteSpace(Mensagem))
            {
                System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
                client.Host = "email-ssl.com.br ";
                client.EnableSsl = true;
                client.Credentials = new System.Net.NetworkCredential("[email protected]", "minha_senha");
                MailMessage mail = new MailMessage();
                mail.Sender = new System.Net.Mail.MailAddress("[email protected]");
                mail.From = new MailAddress("Orçamentos");
                mail.To.Add(new MailAddress("[email protected]", "RECEBEDOR"));
                mail.Subject = "Contato";
                mail.Body = "Nome:  " + exampleSelect1 + " <br/> Mensagem : " + Mensagem;
                mail.IsBodyHtml = true;
                mail.Priority = MailPriority.High;
                try
                {
                    client.Send(mail);
                }
                catch (System.Exception erro)
                {
                    //trata erro
                }
                finally
                {
                    mail = null;
                }
            }
            //Vai retornar para sua Contatos com o verbo [HttpGet]
            return View();
        }
    }
						
Already tried to pass using viewbags ?
– Prostetnic Vogon Jeltz
@Prostetnicvogonjeltz, could you show me an example of what it would be like? Because I did not try this way, even because I am beginner in this language!
– WPfan
https://www.aspsnippets.com/Articles/ASPNet-MVC-HtmlBeginForm-Tutorial-with-example.aspx - Take a look at this link, it might help you to understand another way of doing.
– Prostetnic Vogon Jeltz
failed to put the attribute name in
<select class="form-control" id="exampleSelect1" name='exampleSelect1'>– Leandro Angelo
@Leandroangelo was just that, put your comment as an answer for me to approve... thank you!
– WPfan