我编辑了帖子以获得更多详细信息,所以感谢您指出:)
我想创建一个联系表单,以便用户可以直接从网站发送电子邮件到我的电子邮件地址。我遇到的问题是,无论我使用什么脚本或指南,它都不起作用。
现在我清理了我的代码,以便更容易查看是否有错误,所以我没有任何东西可以验证输入文本。
我目前拥有的是我服务器中的3个文件,分别是contact.php,contact.html和app.js,我在同一台服务器上创建了一个电子邮件帐户,因为它是我托管时的一部分。
我的控制器和HTML代码:
app.controller("contactController", ['$scope', '$http', function ($scope, $http) {
$scope.formData = {
subject: '',
email: '',
message: ''
};
console.log(formData);
// process the form
$scope.processForm = function () {
$http({
method: 'POST',
url: 'contact.php',
data: $scope.formData,
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
})
};
} ]);
<div class=" container formcontainer">
<form method="post">
<input type="text" name="subject" class="form-control" placeholder="Subject..." ng-model="formData.subject">
<input type="email" name="email" class="form-control" placeholder="Your email..." ng-model="formData.email">
<textarea rows="5" cols="50" class="form-control" placeholder="You message" ng-model="formData.message"></textarea>
<button type="submit" ng-click="processForm()" class="btn btn-success btn-lg btn-block">Submit!</button>
</form>
</div>
我的php
<?php
$post_data = file_get_contents("php://input");
$data = json_decode($post_data);
//email information
$to = "lurtze@hotmail.com";
$subject = $data['subject'];
$userEmail=$data['email'];
$message=$data['message'];
$headers = 'From: ' . $userEmail . "\r\n" .
'Reply-To:'.$userEmail . "\r\n" .
'X-Mailer: PHP/' . phpversion();
//php mail function to send email on your email address
mail($to, $subject, $message, $headers);
//Email response
echo "Thank you for contacting us!";
}
?>
现在我在控制台记录我的代码时遇到错误, ReferenceError:未定义formData
我尝试做的是将数组发送到php脚本,然后以电子邮件形式发送信息。
正如我之前提到的,我尝试了多个指南和代码片段,但无法让它工作所以我感谢任何帮助,我可以得到!
答案 0 :(得分:0)
不要通过AngularJS应用程序发送邮件! 将您的请求发送到您的服务器,该服务器将发送请求的主要文件
答案 1 :(得分:0)
设置外发电子邮件服务器或使用服务提供商提供的API。
设置API调用,可以通过步骤1中设置的内容发送电子邮件。
将联系表单中的请求发送到您在步骤2中设置的API。