AokSend Contact Form联系表单提交发送邮件源码(PHP单文件)

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接口

AOK 邮件API 在线调试


AokSend Contact Form联系表单使用教程:

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源码:

<?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>