2017-09-19 17 views
1

发送邮件我有类方法用于发送电子邮件如何从客户端JS用我的后端

public static bool SendEmail(string msg) 
    { 
     var sent = false; 
     try 
     { 
      var fromEmail = ConfigurationManager.AppSettings["FromEmail"]; 
      var toEmail = ConfigurationManager.AppSettings["ToEmail"]; 
      var emailsubject=ConfigurationManager.AppSettings["ErrorTitle"]; 

      var emailService = new EmailServiceClient(); 
      sent = emailService.SendEmail(fromEmail, toEmail, emailsubject, msg); 
     } 
     catch (Exception ex) 
     { 
      LogException(ex); 
     } 
     return sent; 
    } 

这里是我的javascript功能上的按钮点击()事件

   function sendMail() { 
     var e= "Hi"; 

     $.ajax({ 
      url: '/Home/SendEmail', 
      method: "POST", 

     success:function (result) { 
      alert('Email Sent'); 
     }, 
     error: function (result) { 
      alert('Email Does Not Sent'); 
     } 
     }); 

    } 

这JS代码打开我的系统的Outlook电子邮件(打开我的邮件客户端)。 我想通过EmailService直接从我的网页上发送按钮上的电子邮件(不是通过SMTP,因为我为EmailService创建了WCF),我不知道如何实现它。

需要知道JS代码的变化以及任何文档或示例供参考会有帮助。 谢谢

+0

你只能做你的服务器上。使用AJAX。 – SLaks

+0

您可以给出一个代码示例,任何其他参考。 –

+1

@如果你要求代码示例或参考,你的问题会立即变成offtopic –

回答

0

我建议你阅读有关jquery以及如何使用jquery ajax,下面的代码是一个很好的点开始,你,如果你正在使用MVC或API或Web表单没有提及,所以下面的代码是一个位通用。 (this is a complete guide that you can follow

function SendMail(){ 
var msg = 'your msg'; 

$.ajax({ 
       url: 'YOURURLHERE/SendEmail?msg=' + msg, 
       method: "GET",    
      }).done(function (result) { 
       alert('Email Sent'); 
       }); 
      }); 
} 
+0

方法GET或POST? –

+0

@RuchiTang在这种情况下,您可以使用GET或POST,我会使用POST,但是如果您想确保您可以阅读此资源http://www.restapitutorial.com/lessons/httpmethods.html –

+0

嗨Victor,您的答案似乎为我工作,我根据你的答案编辑我的JS代码,但如果我把断点放到我的HomeController方法,呼叫不会被执行。它直接抛出错误函数(alert)。 –

1

它曾与此:

public ActionResult SendEmail(string msg) 
    { 
     var sent = false; 
     try 
     { 

      var emailClient = new EmailServiceReference.EmailServiceClient(); 
      sent = emailClient.SendEmail(fromEmail, toEmail, emailsubject, msg); /// All parameters of SendEmail method defined 

     } 
     catch (Exception ex) 
     { 
      Console.WriteLine("Exception occured while sending Email " + ex.Message); 
     } 
     return Json(sent, JsonRequestBehavior.AllowGet); 
    } 
+0

良好的解决方案 –