简体   繁体   English

通过MVC ASP.NET发送电子邮件时为null值

[英]null value when sending email via MVC ASP.NET

I have this MVC C# App and a controller where trying to send a email, but I always got this error 我有这个MVC C#应用程序和一个试图发送电子邮件的控制器,但是我总是收到此错误

在此处输入图片说明

在此处输入图片说明

this is the code in my action´controller, it doesn´t receive any model so I add specific values 这是我的动作控制器中的代码,它没有收到任何模型,所以我添加了特定值

 [HttpPost]
        public ActionResult Index2()
        {
            try
            {

            MailMessage mail = new MailMessage();
            mail.To.Add("valid_email@hotmail.com");
            mail.From = new MailAddress("valid_email@gmail.com");
            mail.Subject = "PruebaMVC";
            string Body = "PruebaMVC";
            mail.Body = Body;
            mail.IsBodyHtml = true;

            SmtpClient smtp = new SmtpClient();
            smtp.Host = "smtp.gmail.com";
            smtp.Port = 587;
            smtp.UseDefaultCredentials = false;
            smtp.Credentials = new System.Net.NetworkCredential
            ("valid_email@gmail.com", "correctPWD");
            smtp.EnableSsl = true;
            smtp.Send(mail);
                }
            catch (Exception ex)
            {
                throw new ArgumentNullException("Exception in sendEmail:" + ex.Message);
            }

            return View();
        }

could you please tell what is wrong? 你能告诉我出什么问题了吗?

edit: this is the exception I got 编辑:这是我得到的例外 在此处输入图片说明

As i have used below code and it's working fine for me and i have configured smtp in web.config 正如我使用下面的代码,它对我来说很好,我已经在web.config中配置了smtp

ContentType HTMLType = new ContentType("text/html"); ContentType HTMLType =新的ContentType(“ text / html”); NetworkCredential cred = new NetworkCredential(StringConstant.NetworkUserName, StringConstant.NetworkPwd); NetworkCredential凭据=新的NetworkCredential(StringConstant.NetworkUserName,StringConstant.NetworkPwd);

            MailMessage msg = new MailMessage();
            msg.BodyEncoding = System.Text.Encoding.Default;
            msg.To.Add(ToEmail);
            msg.Priority = System.Net.Mail.MailPriority.High;
            msg.Subject = Subj;

            msg.Body = strBody;
            msg.IsBodyHtml = true;
            if (attachement != null)
            {
                msg.Attachments.Add(attachement);
            }

            System.Net.Mail.AlternateView HTMLView = System.Net.Mail.AlternateView.CreateAlternateViewFromString(strBody, HTMLType);
            msg.From = new MailAddress(StringConstant.MailFrom); // Your Email Id

            SmtpClient client = new SmtpClient(StringConstant.SmtpFrom, StringConstant.SmtpPort);
            client.Credentials = cred;
            client.EnableSsl = true;
            client.Send(msg);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM