mvc电子邮件,控制器操作作为附件

时间:2016-06-29 12:19:17

标签: asp.net-mvc controller smtpclient

是否可以将控制器操作作为smtp电子邮件中的路径传递?

我在我的控制器中有这个方法可以找到我搜索到的内容:

 public void ConnectToDatabase(Modelclass uc)
    {
       // IList<Modelclass> list = new List<Modelclass>();
        var query = (from a in db.DBTable
                     where a.IDNumber.Equals(uc.ID_Number)
                    select a).ToList();
        var tt = query;
    }

我在同一个控制器上对此操作调用此方法:

 [HttpPost]
    public ActionResult GetUserInput(ModelClass model )
    {

        var idnumber = model.ID_Number;
        var startdate = model.Start_Date;
        var enddate = model.End_Date;

        ConnectToDatabase(model);
        // validate your date here and return True if validated
        if (model.End_Date < model.Start_Date)
        {
            return Json(false);

        }
        return View("Search"); 

    }

所以我想传递这个&#34; connectToDatabase&#34;方法作为电子邮件的附件发送。

我从哪里开始?

1 个答案:

答案 0 :(得分:0)

不确定这是否是你想要的,但你可以像这样写一个Url.Action给你的电子邮件。

var callbackUrl = Url.Action("Action", "Controller",
                    new
                    {
                        Idnumber = model.ID_Number;
                        Startdate = model.Start_Date;
                        Enddate = model.End_Date;
                    }, protocol: Request.Url.Scheme);

然后将网址分配到您的电子邮件

message.Body =String.Format("<b><i>Click the following link to view attachment</i></b> <a href =\"" + callbackUrl + "\">here</a>");

之后,使用与Url.Action相同的匹配参数编写控制器

public void ConnectToDatabase(string IdNumber, DateTime Startdate, DateTime Enddate)
{
    //do something here...
}