2017-09-19 56 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

良好的解決方案 –