Подключение почтового сервера к моей странице контактов в веб-приложении asp.net/c# - PullRequest
0 голосов
/ 15 мая 2018

Возможно, это простой вопрос, но я новичок в разработке на c #, asp.net.Я создаю веб-сайт, и у меня возникают проблемы с подключением почтового сервера к моей странице контактов.Я долго искал, но не смог найти подходящий ответ.Мой код контроллера следующий:

namespace SITEEXEMPLO.Controllers
{
    public class HomeController : Controller
    {
        //
        // GET: /Home/
        [HttpGet]
        public ActionResult Index()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Index(string Name, string EmailId, string PhoneNo, string Subject, string Message)
        {
            try
            {
                MailMessage mail = new MailMessage();
                mail.To.Add(EmailId);
                mail.From = new MailAddress("xoinas23@gmail.com");
                mail.Subject = Subject;

                string userMessage = "";
                userMessage = "<br/>Name :" + Name;
                userMessage = userMessage + "<br/>Email Id: " + EmailId;
                userMessage = userMessage + "<br/>Phone No: " + PhoneNo;
                userMessage = userMessage + "<br/>Message: " + Message;
                string Body = "Hi, <br/><br/> A new enquiry by user. Detail is as follows:<br/><br/> " + userMessage + "<br/><br/>Thanks";


                mail.Body = Body;
                mail.IsBodyHtml = true;

                SmtpClient smtp = new SmtpClient();
                //SMTP Server Address of gmail
                smtp.Host = "smtp.gmail.com";
                smtp.Port = 587;
                smtp.Credentials = new System.Net.NetworkCredential("xoinas23@gmail.com", "xxxxx");
                // Smtp Email ID and Password For authentication
                smtp.EnableSsl = true;
                smtp.Send(mail);
                ViewBag.Message = "Thank you for contacting us.";
            }
            catch
            {
                ViewBag.Message = "Error............";
            }

            return View();
        }

И HTML-код следующий:

@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <table width="100%;" border="1">
        <tr>
            <td align="right" colspan="2" style="text-align: center"><strong>SEND EMAIL USING GMAIL ACCOUNT IN MVC</strong></td>
        </tr>
        <tr>
            <td align="right">&nbsp;</td>
            <td align="left">
                @ViewBag.Message
            </td>
        </tr>
        <tr>
            <td align="right">Name :</td>
            <td align="left">
                <input id="txtName" name="Name" width="250px;" />
            </td>
        </tr>
        <tr>
            <td align="right">Your Email id  :</td>
            <td align="left">
                <input id="txttoaddress" name="EmailId" width="250px" />
            </td>
        </tr>
        <tr>
            <td align="right">Phone No :</td>
            <td align="left">
                <input id="txtPhoneno" name="PhoneNo" width="250px" />
            </td>
        </tr>
        <tr>
            <td align="right">Subject :</td>
            <td align="left">
                <input id="txtsubject" name="Subject" width="250px"></input>
            </td>
        </tr>
        <tr>
            <td align="right">Message :</td>
            <td align="left">
                <textarea rows="4" cols="50" name="Message" id="txtmessage"></textarea>
            </td>
        </tr>
        <tr>
            <td align="right">Attachment :</td>
            <td align="left">
                <input type="file" name="file" />
            </td>
        </tr>

        <tr>
            <td align="center" colspan="2">
                <input type="submit" text="Send Message" />
            </td>
        </tr>
    </table>

Это работает, но не так, как я хочу.Запустив этот код, я вставляю информацию и получаю ее по электронной почте, вставленной в форму, а не по электронной почте в коде.Я хочу, чтобы пользователи написали свое электронное письмо в форме, и, нажав кнопку, я получу информацию на свой электронный адрес.Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 15 мая 2018

Если я не понимаю, я полагаю, что вы хотите отправить электронное письмо по адресу xoinas23@gmail.com. Для этого измените свой код следующим образом:

mail.To.Add("xoinas23@gmail.com");
mail.From = new MailAddress("xoinas23@gmail.com");

Прямо сейчас вы отправляете электронное письмо на адрес электронной почты, предоставленный лицом, отправляющим форму. С этим изменением вы просто отправите их информацию себе, используя свой адрес электронной почты.

...