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'=>'[email protected]', '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>