所以,基本上你的問題的評論是正確的 - 你不能在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);
?>
希望這有助於清除混亂。
你需要這個後端。不能只用JS做。 – dfsq
事實上,你需要一個SMTP服務器來發送電子郵件。 –