通过Asp.Net Web Api发送电子邮件

时间:2014-09-16 04:59:45

标签: c# asp.net email asp.net-web-api

我的客户希望通过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);
    }

2 个答案:

答案 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);
        }