简体   繁体   English

ASP.NET 与 HttpPost 一起发送 email

[英]ASP.NET send email together with HttpPost

I'm new to C# and I got a task to make a "Contact us" type of thing on a website.我是 C# 的新手,我的任务是在网站上制作“联系我们”类型的东西。

How can I send an email at the same time when data from a form is being inserted into SQL DB?将表单中的数据插入 SQL DB 时,如何同时发送 email?

This is my post method这是我的帖子方法

[HttpPost]
        public JsonResult Post(Contact con)
        {
            string query = @"
                           insert into dbo.Contact(ContactName,ContactEmail,ContactSubject,ContactMessage,ContactDate)
                           values (@ContactName,@ContactEmail,@ContactSubject,@ContactMessage,@ContactDate)
                            ";

            DataTable table = new DataTable();
            string sqlDataSource = _configuration.GetConnectionString("ContactAppCon");
            SqlDataReader myReader;
            using (SqlConnection myCon = new SqlConnection(sqlDataSource))
            {
                myCon.Open();
                using (SqlCommand myCommand = new SqlCommand(query, myCon))
                {
                    myCommand.Parameters.AddWithValue("@ContactName", con.ContactName);
                    myCommand.Parameters.AddWithValue("@ContactEmail", con.ContactEmail);
                    myCommand.Parameters.AddWithValue("@ContactSubject", con.ContactSubject);
                    myCommand.Parameters.AddWithValue("@ContactMessage", con.ContactMessage);
                    myCommand.Parameters.AddWithValue("@ContactDate", DateTime.Now);
                    myReader = myCommand.ExecuteReader();
                    table.Load(myReader);
                    myReader.Close();
                    myCon.Close();
                }
            }

            return new JsonResult("Added Successfully");
        }

Can I just add some code there, that would get executed together with the query and email would be sent?我可以在那里添加一些代码,这些代码将与查询一起执行并且 email 会被发送吗?

You can use following code for sending email.您可以使用以下代码发送 email。

 [HttpPost]
        public JsonResult Post(Contact con)
        {
            string query = @"
                           insert into dbo.Contact(ContactName,ContactEmail,ContactSubject,ContactMessage,ContactDate)
                           values (@ContactName,@ContactEmail,@ContactSubject,@ContactMessage,@ContactDate)
                            ";
    
            DataTable table = new DataTable();
            string sqlDataSource = _configuration.GetConnectionString("ContactAppCon");
            SqlDataReader myReader;
            using (SqlConnection myCon = new SqlConnection(sqlDataSource))
            {
                myCon.Open();
                using (SqlCommand myCommand = new SqlCommand(query, myCon))
                {
                    myCommand.Parameters.AddWithValue("@ContactName", con.ContactName);
                    myCommand.Parameters.AddWithValue("@ContactEmail", con.ContactEmail);
                    myCommand.Parameters.AddWithValue("@ContactSubject", con.ContactSubject);
                    myCommand.Parameters.AddWithValue("@ContactMessage", con.ContactMessage);
                    myCommand.Parameters.AddWithValue("@ContactDate", DateTime.Now);
                    myReader = myCommand.ExecuteReader();
                    table.Load(myReader);
                    myReader.Close();
                    myCon.Close();
                }
            }
            SendEmail(con.ContactEmail,con.Subject,con.Body);
            return new JsonResult("Added Successfully");
        }
    public void SendEmail(string email,string subject,string Body)
    {
    // Write your logic here..
    }

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

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