AokSend Contact Form联系表单是制作的单PHP文件的源码,主要用途是:当用户输入表单信息并点击提交之后,php文件会自动发送表单信息的邮件到客户指定的邮箱。
单PHP文件已免费发布到Gitee和Github平台开源:
https://gitee.com/aoksend/Contact-Form-Submit-Send-Email
https://github.com/AokSend/Contact-Form-Submit-Send-Email
Postman 在线调试邮件API接口
1.在aoksend注册一个账号。
2.绑定一个自己的域名。做域名解析之后验证。验证通过后自动提交审核。等待审核通过。
3.设置一个邮件模板。aoksend内置了一些优质简约的邮件模板,可以用来改造成多种用途。
4.通过步骤2和步骤3可以获取到app_key和template_id。(如果不清楚的,找aoksend客服)
5.下载单个php文件(下载地址:联系表单提交Contact Form自动发送邮件源码)
6.在php文件的第31行,修改app_key和template_id为自己的。然后指定一下自己的接收邮件内容的邮箱。
7.把php文件放到网站目录,通过url访问即可。
8.自行提交表单做测试,检查自己设置的邮箱有没有收到邮件。注意如果是新域名,要看下垃圾箱有没有邮件。
<?php
if(!empty($_POST['is_post']) && $_POST['is_post']==1){
$url = "https://www.aoksend.com/index/api/send_email";
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
if(empty($name)){
echo json_encode(['message'=>'请填写Name','code' => 40001]);
exit;
}
if(empty($email)){
echo json_encode(['message'=>'请填写Email address','code' => 40002]);
exit;
}
if(empty($subject)){
echo json_encode(['message'=>'请填写Subject','code' => 40003]);
exit;
}
if(empty($message)){
echo json_encode(['message'=>'请填写Message','code' => 40004]);
exit;
}
$time = date('Y-m-d H:i:s',time());
$str = '{"username":"'.$name.'","contactemail":"'.$email.'","subject":"'.$subject.'","content":"'.$message.'","time":"'.$time.'"}';
//app_key 注册Aoksend获取秘钥
//to 需要接收提醒的邮箱
//template_id Aoksend里的邮件模板ID
$data = ['app_key'=>'cf6d0114ee5cd1e4800000005c20ac793', 'to'=>'test@Aoksend.com', 'template_id'=>'E_100008454408', 'data'=>$str];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
echo $output;
exit;
}
?>
<style type="text/css">
html, body {
background: #f1f1f1;
font-family: 'Merriweather', sans-serif;
padding: 1em;
}
h1 {
text-align: center;
color: #565656;
@include text-shadow(1px 1px 0 rgba(white, 1));
}
p{
text-align: center;
}
form {
max-width: 600px;
text-align: center;
margin: 20px auto;
input, textarea {
border:0; outline:0;
padding: 1em;
@include border-radius(8px);
display: block;
width: 100%;
margin-top: 1em;
font-family: 'Merriweather', sans-serif;
@include box-shadow(0 1px 1px rgba(black, 0.1));
resize: none;
&:focus {
@include box-shadow(0 0px 2px rgba($red, 1)!important);
}
}
#input-submit {
color: white;
background-color: #ff5151;
cursor: pointer;
margin-top:20px;
&:hover {
@include box-shadow(0 1px 1px 1px rgba(#aaa, 0.6));
}
}
textarea {
height: 156px;
}
}
.half {
float: left;
width: 48%;
margin-bottom: 1em;
}
.right { width: 50%; }
.left {
margin-right: 2%;
}
@media (max-width: 480px) {
.half {
width: 100%;
float: none;
margin-bottom: 0;
}
}
/* Clearfix */
.cf:before,
.cf:after {
content: " "; /* 1 */
display: table; /* 2 */
}
.cf:after {
clear: both;
}
</style>
<h1>联系表单</h1>
<p>由AokSend支持邮件发送API</p>
<form class="cf">
<div class="half left cf">
<input type="text" id="input-name" placeholder="Name">
<input type="email" id="input-email" placeholder="Email address">
<input type="text" id="input-subject" placeholder="Subject">
</div>
<div class="half right cf">
<textarea name="message" type="text" id="input-message" placeholder="Message"></textarea>
</div>
<input type="submit" value="Submit" id="input-submit">
</form>
<script>
function submitForm() {
// 阻止表单的默认提交行为
event.preventDefault();
// 假设你的表单数据在以下对象中
var formData = {
is_post: 1,
name: document.getElementById('input-name').value,
email: document.getElementById('input-email').value,
subject: document.getElementById('input-subject').value,
message: document.getElementById('input-message').value
};
// 将表单数据转换为查询字符串
var queryString = Object.keys(formData).map(key => encodeURIComponent(key) + '=' + encodeURIComponent(formData[key])).join('&');
// 初始化XMLHttpRequest对象
var xhr = new XMLHttpRequest();
// 设置请求类型、URL和异步
xhr.open('POST', '', true);
// 设置请求头(如果需要)
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// 设置响应处理函数
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
// 请求成功完成
var obj = JSON.parse(xhr.responseText);
if(obj.code==200){
//调用成功
alert("提交成功,已发送邮件!")
}else{
alert(obj.message)
}
}
};
// 发送请求
xhr.send(queryString);
}
document.getElementById('input-submit').addEventListener('click', submitForm);
</script>