Мой клиент хочет отправить E-mail через веб-API asp.net. Я новичок в веб-сервисах и имею 0 знаний об этом, пожалуйста, помогите мне, как достичь этой задачи, и если кто-то может предоставить код, должен быть доступен какой-либо веб-сервис.
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);
}
API электронной почты.NET отправляет письма через SMTP. Веб-API ASP.NET позволяет размещать интерфейс REST.
Вы сказали, что знаете, как программировать с обоими, так и сделайте это.
Создайте свой метод Web API, который получит необходимые аргументы, точно так же, как и для обычного метода, который будет выполнять ваши обязанности по электронной почте для вас. Затем создайте маршрут к методу.
Если у вас есть проблемы с тем, что вы не работаете, тогда пишите тесты.
Документация для веб-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
# Call this function in your WebApi controller #
=========================================================
private void sendEmailViaWebApi()
{
string subject = "Email Subject";
string body = "Email body";
string FromMail = "[email protected]";
string emailTo = "[email protected]";
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("[email protected]", "your password");
SmtpServer.EnableSsl = false;
SmtpServer.Send(mail);
}