我的客户希望通过asp.net Web API发送电子邮件。我是Web服务的新手,对此有一些了解,请指导我如何完成此任务,如果有人可以提供代码,必须有一些像这样的Web服务。
using (MailMessage mm = new MailMessage(txtEmail.Text, txtTo.Text))
{
mm.Subject = txtSubject.Text;
mm.Body = txtBody.Text;
mm.IsBodyHtml = false;
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Send(mm);
ClientScript.RegisterStartupScript(GetType(), "alert", "alert('Email sent.');", true);
}
答案 0 :(得分:6)
.NET邮件API通过SMTP发送电子邮件。 ASP.NET Web API允许您托管REST接口。
你说你知道如何用两者编程,所以就这样做。
创建您的Web API方法,该方法接收必要的参数,就像您将为您执行电子邮件职责的常规方法一样。然后创建到该方法的路线。
如果您遇到任何问题,请编写测试。
Web API文档:http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
SmtpClient的文档:http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient(v=vs.110).aspx
答案 1 :(得分:5)
# Call this function in your WebApi controller #
=========================================================
private void sendEmailViaWebApi()
{
string subject = "Email Subject";
string body = "Email body";
string FromMail = "shahid@reckonbits.com.pk";
string emailTo = "reciever@reckonbits.com.pk";
MailMessage mail = new MailMessage();
SmtpClient SmtpServer = new SmtpClient("mail.reckonbits.com.pk");
mail.From = new MailAddress(FromMail);
mail.To.Add(emailTo);
mail.Subject = subject;
mail.Body = body;
SmtpServer.Port = 25;
SmtpServer.Credentials = new System.Net.NetworkCredential("shahid@reckonbits.com.pk", "your password");
SmtpServer.EnableSsl = false;
SmtpServer.Send(mail);
}