我的网站上有联系表格,我想发一个发送按钮。我不希望计算机上的电子邮件程序启动,我只想按下按钮立即将文本发送到我的电子邮件。我现在已经在互联网上搜索了几个星期而且我放弃了。
<form method="post" name="contact" action="#">
<label for="author">Name:</label>
<input type="text" id="author" name="author" class="required input_field" />
<div class="cleaner h10"></div>
<label for="email">Email:</label>
<input type="text" class="validate-email required input_field" name="email" id="email" />
<div class="cleaner h10"></div>
<label for="subject">Subject:</label>
<input type="text" class="validate-subject required input_field" name="subject" id="subject"/>
<div class="cleaner h10"></div>
<label for="text">Message:</label>
<textarea id="text" name="text" rows="0" cols="0" class="required"></textarea>
<div class="cleaner h10"></div>
<input type="submit" value="Send" id="submit" name="submit" class="submit_btn float_l" />
<input type="reset" value="Reset" id="reset" name="reset" class="submit_btn float_r" />
</form>
答案 0 :(得分:6)
如果您不想使用 php ,也可以尝试使用外部API 为您提供要发送的电子邮件。
Mandrill 可以做到这一点。 每月最多可免费发送12k封电子邮件。
在您的页面中,代码将如下所示:
$.ajax({
type: “POST”,
url: “https://mandrillapp.com/api/1.0/messages/send.json”,
data: {
‘key’: ‘YOUR API KEY HERE’,
‘message’: {
‘from_email’: ‘YOUR@EMAIL.HERE’,
‘to’: [
{
‘email’: ‘RECIPIENT_NO_1@EMAIL.HERE’,
‘name’: ‘RECIPIENT NAME (OPTIONAL)’,
‘type’: ‘to’
},
{
‘email’: ‘RECIPIENT_NO_2@EMAIL.HERE’,
‘name’: ‘ANOTHER RECIPIENT NAME (OPTIONAL)’,
‘type’: ‘to’
}
],
‘autotext’: ‘true’,
‘subject’: ‘YOUR SUBJECT HERE!’,
‘html’: ‘YOUR EMAIL CONTENT HERE! YOU CAN USE HTML!’
}
}
}).done(function(response) {
console.log(response); // if you're into that sorta thing
});
这里如何:
https://medium.com/design-startups/b53319616782
http://www.codecademy.com/tracks/mandrill (CodeCademy可以教授如何使用API)
答案 1 :(得分:1)
这也许你在寻找什么:http://www.sanwebe.com/2011/12/making-simple-jquery-ajax-contact-form。您只能使用PHP和HTML + AJAX执行您想要的操作。用HTML创建表单,然后使用Jquery POST请求发送请求+数据,如下所示:
$.post('sendmail.php', post_data, function(response){ ... }
答案 2 :(得分:1)
发送邮件的过程发生在服务器端,HTML / JavaScript是客户端的。据我所知,你没有使用网络服务器,也没有在某个地方托管网站。
来自XAMPP的新安装有一个FakeSendMail选项,您可以使用它来模拟PHP中的mail()函数。 XAMPP是最着名的localhost Web服务器之一,您可以用它来完成项目,以防您真的不需要实际发送该邮件。如果您这样做,我建议您使用虚拟主机。
但首先,您需要了解客户端和服务器端之间的区别。就客户端而言,它所做的就是呈现静态数据。 (HTML / CSS / JS)。但是,对于服务器端,它有更多的用途,因为你可以使用数据库,从中获取或插入数据,并最终呈现将由浏览器(客户端)处理的数据
答案 3 :(得分:0)
我认为你没有搜索过&#39;网上几周要么:) 经过一次谷歌搜索,我得到以下内容: https://medium.com/design-startups/b53319616782
技术上不可能仅使用javascript发送电子邮件。您总是需要后端服务。但如上面的链接所述,主要有免费(取决于数量)服务(如上文所述:https://mandrill.com/)。
这是上面链接的代码示例:
$.ajax({
type: 'POST',
url: 'https://mandrillapp.com/api/1.0/messages/send.json',
data: {
'key’: 'YOUR API KEY HERE’,
'message': {
'from_email': 'YOUR@EMAIL.HERE',
'to': [
{
'email': 'RECIPIENT_NO_1@EMAIL.HERE',
'name': 'RECIPIENT NAME (OPTIONAL)',
'type': 'to'
},
{
'email': 'RECIPIENT_NO_2@EMAIL.HERE',
'name': 'ANOTHER RECIPIENT NAME (OPTIONAL)',
'type': 'to'
}
],
'autotext': 'true',
'subject': 'YOUR SUBJECT HERE!',
'html': 'YOUR EMAIL CONTENT HERE! YOU CAN USE HTML!'
}
}
}).done(function(response) {
console.log(response); // if you're into that sorta thing
});
希望这有帮助。
祝你好运, 克里斯
答案 4 :(得分:0)
我是懒惰的,并且从W3Schools无耻地复制过来(请不要说W3schools是多么糟糕,我知道但这符合目的!)&gt;
<h2>Feedback Form</h2>
<?php
// display form if user has not clicked submit
if (!isset($_POST["submit"])) {
?>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">
From: <input type="text" name="from"><br>
Subject: <input type="text" name="subject"><br>
Message: <textarea rows="10" cols="40" name="message"></textarea><br>
<input type="submit" name="submit" value="Submit Feedback">
</form>
<?php
} else { // the user has submitted the form
// Check if the "from" input field is filled out
if (isset($_POST["from"])) {
$from = $_POST["from"]; // sender
$subject = $_POST["subject"];
$message = $_POST["message"];
// message lines should not exceed 70 characters (PHP rule), so wrap it
$message = wordwrap($message, 70);
// send mail
mail("webmaster@example.com",$subject,$message,"From: $from\n");
echo "Thank you for sending us feedback";
}
}
?>