مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

bahareee

عضویت از 1393/12/13

ارسال ایمیل در MVC5

  • پنجشنبه 18 تیر 1394
  • 19:23
تشکر میکنم

سلام.من در پروژم نیاز دارم تا افراد بتونن در قسمت تماس با ما به مدیر پیام بفرستن.با سرچ تو اینترنت سعی کردم این کارو انجام بدم اما هر بار ارور میده .ممنون میشم اگه راهنمایی کنین یا ی نمونه کد قرار بدین.این پروژه با mvc5 و entityframework هستش.

ممنون

 public class ContactModel:Thing
    {
       
        public string FullName { get; set; }

       
        public string Email { get; set; }

       
        public string Subject { get; set; }

       
        public string Messege { get; set; }

    }

پاسخ های این پرسش

تعداد پاسخ ها : 8 پاسخ
کاربر سایت

سجاد باقرزاده

عضویت از 1392/02/24

  • جمعه 19 تیر 1394
  • 13:45

شما باید در داخل دیتابیس خود جدولی طراحی کنید با فیلد های مورد نیاز خود که در بالا آورده شده و در صفحه تماس با ما اطلاعات افراد را بگیرید و در کد آنها را در دیتابیس ذخیره کنید و آخر اطلاعات ذخیره شده در دیتابیس را در جدولی جداگانه داخل صفحه ادمین نمایش دهید:

صفحه تماس با ما  (*.cshtml) :

@model Avab_Mvc.Models.ContactMessages

@using (Html.BeginForm("ContactMessage", "Home", FormMethod.Post, new { @id = "commentform" }))
{

   @Html.AntiForgeryToken()
   @Html.ValidationSummary(true, "", new { @class = "text-danger" })
   @Html.HiddenFor(model=>model.Date)
   @Html.HiddenFor(model=>model.IsRead)
                                        
   <label class="label-name"></label>
   @Html.TextBoxFor(model => model.FullName, new { @class = "form_field", @id = "author" })
   @Html.ValidationMessageFor(model => model.FullName, "", new { @class = "text-danger" })
   <div class="clear"></div>
   <label class="label-email"></label>
   @Html.TextBoxFor(model => model.Email, new { @class = "form_field", @id = "email" })
   @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })

   <div class="clear"></div>
   <label class="label-subject"></label>
   @Html.TextBoxFor(model => model.Subject, new { @class = "form_field", @id = "subject" })
   @Html.ValidationMessageFor(model => model.Subject, "", new { @class = "text-danger" })

   <div class="clear"></div>
   <label class="label-message"></label>
   @Html.EditorFor(model => model.Message, new { htmlAttributes = new { @class = "form_field", @rows = "5", @cols = "45", @id = "comment-message" } })
   @Html.ValidationMessageFor(model => model.Message, "", new { @class = "text-danger" })

   <div class="clear"></div>
   <p class="form-submit">
   <input type="reset" name="reset" id="reset" value="پاک کردن فرم">
   <input type="submit" value="ارسال پیام" id="submit" class="feedback_go" />
   </p>

}

کدهای داخل Controller (*.cs) :

        #region ContactUS Partial
        public ActionResult ContactUs()
        {
            return View();
        }
        public ActionResult ContactPartial()
        {
            return PartialView(db.Settings.FirstOrDefault());
        }
        public ActionResult ContactMessage()
        {
            return PartialView();
        }

        [HttpPost]
        public ActionResult ContactMessage(ContactMessages message)
        {
            if (ModelState.IsValid)
            {
            message.Date = DateTime.Now;
            message.IsRead = false;
            db.ContactMessages.Add(message);
            db.SaveChanges();
            }
            //return View(message);
            return null;
        }
        #endregion

 

کاربر سایت

bahareee

عضویت از 1393/12/13

  • جمعه 19 تیر 1394
  • 18:36

سلام.ممنون از پاسختون.چند تا سوال دارم:

1-اکشن ContactPartial چ کاری انجام میده؟

2-این کد برای ارسال پیام ب ادمینه نه برای ارسال ایمیل .درسته؟

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 20 تیر 1394
  • 08:50

ارسال ایمیل در تکنولوژی ها فرقی با هم نداره

از طریق کد زیر میتونید ارسال کنید

          MailMessage mail = new MailMessage();
            SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
            mail.From = new MailAddress("From@Domain.com");
            mail.To.Add(To);
            mail.Subject = Subject;
            mail.Body = Body;
            //mail.IsBodyHtml = true;

            //System.Net.Mail.Attachment attachment;
            // attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
            // mail.Attachments.Add(attachment);

            SmtpServer.Port = 587;
            SmtpServer.Credentials = new System.Net.NetworkCredential("Email@gmail.com", "PassWord");
            SmtpServer.EnableSsl = true;

            SmtpServer.Send(mail);

 

کاربر سایت

bahareee

عضویت از 1393/12/13

  • شنبه 20 تیر 1394
  • 10:22

من هر بار با هر کدی ارسال ایمیل رو تست کردم این ارور رو میده ک براتون میفرستمش.با این کد هم همینطور..لطفا راهنمایی کنید ک مشکل از کجاست!!

 public ActionResult Index()
        {
            var model = new Contact();
            return View(model);
        }
        [HttpPost]
        public ActionResult Index(Contact c)
        {
            if (ModelState.IsValid)
            {
                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com");
                mail.From = new MailAddress("b.mirzaie70@gmail.com");
                mail.To.Add("b.mirzaie70@gmail.com");
                mail.Subject = c.Subject;
                mail.Body = c.Messege;
                mail.IsBodyHtml = true;

                //System.Net.Mail.Attachment attachment;
                // attachment = new System.Net.Mail.Attachment("c:/textfile.txt");
                // mail.Attachments.Add(attachment);

                SmtpServer.Port = 587;
                SmtpServer.Credentials = new System.Net.NetworkCredential("b.mirzaie70@gmail.com", "****");
                SmtpServer.EnableSsl = true;

                SmtpServer.Send(mail);
            }
            return View();
       }

ارور: با دو پرت 25 و 587 امتحان کردم ک هر بار یکی از این ارور ها رو میده

Failure sending mail یا Additional information: The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 20 تیر 1394
  • 10:31

عکس ضمیمه نشده

کاربر سایت

bahareee

عضویت از 1393/12/13

  • شنبه 20 تیر 1394
  • 10:40

عکس ضمیمه نمیشد.خود کدها و خطا رو قرار دادم.

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 20 تیر 1394
  • 10:41

اگر از Gmail استفاده میکنید ، یک ایمیل به ایمیل فرستنده ارسال میشه و تایید میخواد

وارد ایمیل خود بشید و آی پی رو تایید کنید

کاربر سایت

bahareee

عضویت از 1393/12/13

  • شنبه 20 تیر 1394
  • 11:47

ادرس ایمیل رو عوض کردم درست شد.خیلی ممنون از راهنماییتون

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)