C# 通过Asp.NETWebAPI发送电子邮件
我的客户希望通过asp.net Web API发送电子邮件。我是web服务新手,对此没有任何了解。请指导我如何完成此任务,如果有人可以提供代码,那么一定有类似的web服务可用C# 通过Asp.NETWebAPI发送电子邮件,c#,asp.net,email,asp.net-web-api,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;
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);
}
.NET邮件API通过SMTP发送电子邮件。ASP.NET Web API允许您托管REST接口 你说过你知道如何用这两种语言编程,那么就这么做吧 创建Web API方法,该方法接收必要的参数,就像为您处理电子邮件的普通方法一样。然后创建到该方法的路由 如果您有任何一个不工作的问题,那么就编写测试 Web API的文档:
SmtpClient的文档:您有代码吗。。或者任何你自己写过或尝试过的东西。。这里有一个链接可以帮助你入门,基本上我知道如何通过asp.net发送电子邮件,我已经做了,但我关心的是如何创建webapi,谁通过webapi发送电子邮件?
smtp.EnableSsl=true代码>您在哪里使用凭据。。您在哪里设置和/或读取端口。另外,将smtp.Send(mm)包装在try{}catch周围,看看是否返回了任何错误消息。。?在web配置中使用凭据并不困难。try-catch块涵盖了所有这些代码。这是谷歌在搜索从webapi发送电子邮件时的第一次成功,你能给我提供代码示例吗?我刚刚注意到你提到你对webapi了解不多。查看文档。。这是非常直截了当的,将两者结合在一起就是你所需要的。还记得吗?Anjyr,我添加了文档的链接。我认为,在复制/粘贴您可能不理解的代码之前,您最好完成这项工作,充实您对这两种技术的知识。另外,请确保您保护了该服务,否则您可能会用发现您的不安全电子邮件服务器的黑客的电子邮件轰炸我们很多人。
# 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);
}