[英]Sending Mail using dynamic values with asp.net core 2.0
我正在像本教程一样通过asp.net Core 2.0发送电子邮件,所以我的控制器中有类似的内容
SmtpClient client = new SmtpClient("mysmtpserver");
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("username", "password");
MailMessage mailMessage = new MailMessage();
mailMessage.From = new MailAddress("whoever@me.com");
mailMessage.To.Add("receiver@me.com");
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("whoever@me.com");
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 = "someone@someone.com"
SendEmail(mailTo, subject, mailBody)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.