2016-07-18 7 views
0

Visual Studio 2013でangularjs 1.4.8を使用しています。ボタンをクリックした後、自動的に「登録完了」というメッセージとともにxxxx @ xxxx.comに電子メールを送信します。 angularjsで電子メールを送信するにはどうすればよいですか?ng-clickで自動的にメールを送信する方法は?

[HttpPut] 
    [Route("api/SendMail")] 
    protected void sendmail() 
    { 

     var fromAddress = "[email protected]"; 
     var toAddress = "[email protected]"; 
     const string fromPassword = "workufs1234"; 
     MailMessage mailMessage = new MailMessage(fromAddress, toAddress); 
     mailMessage.To.Add(toAddress); 
     mailMessage.Subject = "Documents"; 
     string messge = "hellooooo"; 
     string tempmsg = ""; 
     var messg = @"<html><body><br />Dear ss ,<br /><br /> <br />"; 
     mailMessage.To.Add(toAddress); 
     string html = messg.ToString(); 
     AlternateView altView = AlternateView.CreateAlternateViewFromString(html, null, MediaTypeNames.Text.Html); 
     MailMessage mail = new MailMessage(); 
     mailMessage.AlternateViews.Add(altView); 
     mailMessage.Body = messg.ToString(); 
     mailMessage.IsBodyHtml = true; 

     SmtpClient mailSender = new SmtpClient("162.222.225.82"); //use this if you are in the development server 
     mailSender.Host = "smtp.gmail.com"; 
     mailSender.Port = 587; 
     mailSender.EnableSsl = true; 
     mailSender.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; 
     mailSender.Credentials = new NetworkCredential(fromAddress, fromPassword); 
     mailSender.Timeout = 40000; 
     mailSender.Send(mailMessage); 
    } 

郵便配達員を使用してどのようにテストできますか。このhttppostかputか?

+0

デバイスでは、すべての詳細が入力されたメールコンポーザーしか開くことができないため、手動で送信ボタンを押す必要があるため、API側からその機能を実行する必要があります。 e。自動ではありません。 –

答えて

0

HTMLコード:

<button ng-click="sendMail()"></button> 

コントローラー:

$scope.message = {} // contact info goes here 

$scope.sendMail = function(){ 
    var mail = 'mailto:[email protected]?subject=' + $scope.message.name + 
       '&body=' + $scope.message.content; 
    $window.open(mail); 
} 
+0

は不要です。私は自動的にメールを送信したい –

0

私はあなたがこれを適切に行うには、サーバー側が必要になると思います。 (PHP/NodeJS、...)

私のNodeJSサーバーで、私は完璧に動作する 'nodemailer'を使用しています。 https://www.npmjs.com/package/nodemailer

希望します。

+0

私はangularjsを使用していますnodejsを使用していません –

+0

はい、AngularJSはクライアント側でのみ実行されています。また、サーバーからアプリケーションを起動するには、サーバー側が必要です – Sparw

関連する問題