发送邮件使用动态值与asp.net 2.0核心
问题描述:
我通过asp.net核2.0这样tutorial发送电子邮件,让我有这样的事情在我的控制器发送邮件使用动态值与asp.net 2.0核心
SmtpClient client = new SmtpClient("mysmtpserver");
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("username", "password");
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("[email protected]");
mailMessage.To.Add("[email protected]");
mailMessage.Body = "body";
mailMessage.Subject = "subject";
client.Send(mailMessage);
和它的作品,但我想做的不那么通用。就像将代码发送到课堂并从控制器调用它一样。比如在课堂上我想用变量,而不是静态的内容,如
mailMessage.Body = "body";
相反,这个我想使用类似:
var body;
mailMessage.Body = body;
所以到控制器必须更改内容的能力。我怎样才能做到这一点?问候
答
在你的控制器,添加一个名为SendEmail
像
private bool SendEmail(string mail_to, string mail_subject, mail_body)
{
bool result = false;
try
{
SmtpClient client = new SmtpClient("mysmtpserver");
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("username", "password");
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("[email protected]");
mailMessage.To.Add(mail_to);
mailMessage.Body = mail_body;
mailMessage.Subject = mail_subject;
client.Send(mailMessage);
result = true;
}
catch(Exception ex){ result = false; }
return result;
}
用它在你的控制器
string mailBody = "Anything can be in the body\n. Mail contents.";
string subject = "Mail Subject";
string mailTo = "[email protected]"
SendEmail(mailTo, subject, mailBody)
所以你的代码发送电子邮件私有函数...你想要的编写控制器和模型来发送电子邮件的代码?这有点含糊不清,特别是没有任何现有的MVC,因为你卡在哪里...' –
我有工作发送电子邮件代码...我只是想做的不那么通用,当我想要改变数据。例如在家庭控制器中,我想从课程中调用我的邮件方法。所以我想重写这个消息的'mailMessage.Body'。现在在产品控制器我想使用相同的类,但我想重写'mailMessage.Body'这个控制器方法...所以总而言之,我想有一个方法到类中,并在控制器中更改内容时,我想@ AustinFrench – Louis
你为什么不简单地创建一个函数SendEmail并将来自控制器的结果变量作为参数传递给函数? – progrAmmar