2015-12-21 59 views
6

我有一個簡單的頁面,帶有3個文本框和一個像這樣的按鈕。在離子應用程序中發送郵件

<input type="text" ng-model="name" required > 
<input type="text" ng-model="city" required > 
<input type="text" ng-model="country" required > 



<button class="button button-block button-royal ExploreBtn" ng-click="sendMail();"> 
Send mail    
</button> 

幫助我,如何在第一個文本字段值角JS /離子爲主體,其他兩成體發送郵件。

+1

你需要這個後端。不能只用JS做。 – dfsq

+0

事實上,你需要一個SMTP服務器來發送電子郵件。 –

回答

1

所以,基本上你的問題的評論是正確的 - 你不能在JavaScript中純粹這樣做,你需要爲它使用後端服務。

現在,您將在您的sendMail函數中執行的操作是使用Angulars的$http服務調用該服務。您可以從official documentation瞭解有關$ http服務的更多信息。

通話將,例如像這樣:

$http({ 
    method: 'POST', 
    url: 'http://your.server.com/sendmail.php', 
    data: { mailTo: '[email protected]', msg: 'hello!' } 
}).then(function successCallback(response) { 
    alert("msg sent!"); 
}, function errorCallback(response) { 
    alert("error with sending a msg"); 
}); 

這裏有兩個重要部分:

  • url - 這裏是您的服務(這將最終發送郵件)位於
  • data - 你在發送給這個服務端點

在我的示例中,我已將服務URL設置爲sendmail.php,最終將使用PHP編寫。我必須強調,您的後端服務可以用您熟悉的任何服務器端語言編寫(如果您要進一步研究此主題,請確保您閱讀了RESTful services)。

對於這個例子的目的,PHP腳本(擔保,僅供參考),它採用了mail function發送電子郵件會是這個樣子:

<?php 

$to = $_POST["emailTo"]; 
$msg = $_POST["msg"]; 

mail($to, "Some test subject", $msg); 

?> 

希望這有助於清除混亂。

+0

嗨..我在PHP中有零知識。你能幫我如何根據文本框 –

+0

動態地改變「味精」的價值嘛,基本上這與PHP無關。由於您是從Ionic(Angular)應用程序發送消息,因此您可以使用'msg'模型添加另一個輸入框,如:''然後您可以使用它在像這樣的ajax調用中:'data:{mailTo:'[email protected]',msg:$ scope.msg}' – Nikola

+0

感謝您的解釋。接受它:) –

相關問題