我正在使用Template Monster的模板,我无法弄清楚如何让联系我们工作。 我也找到了类似的帖子,但它没有解决我的问题,即 How to setup a contact form from a templatemonster template
我的MailHandler.php是
<?php
$owner_email='something@gmail.com';
//SMTP server settings
$host = 'smtp.gmail.com';
$port = '587';//"465";
$username = 'something';
$password = 'something';
$subject='A message from your site visitor ';
$user_email='';
$message_body='';
$message_type='html';
$max_file_size=50;//MB
$file_types='/(doc|docx|txt|pdf|zip|rar)$/';
$error_text='something goes wrong';
$error_text_filesize='File size must be less than';
$error_text_filetype='Failed to upload file. This file type is not allowed. Accepted files types: doc, docx, txt, pdf, zip, rar.';
$private_recaptcha_key='6LeZwukSAAAAACmqrbLmdpvdhC68NLB1c9EA5vzU'; //localhost
$use_recaptcha=isset( $_POST["recaptcha_challenge_field"]) and isset($_POST["recaptcha_response_field"]);
$use_smtp=($host=='' or $username=='' or $password=='');
$max_file_size*=1048576;
if($owner_email==''){
die('Attention, recipient e-mail is not set! Please define "owner_email" variable in the MailHanlder.php file.');
}
if(preg_match('/^(127\.|192\.168\.)/',$_SERVER['REMOTE_ADDR'])){
die('Attention, contact form will not work locally! Please upload your template to a live hosting server.');
}
if($use_recaptcha){
require_once('recaptchalib.php');
$resp = recaptcha_check_answer ($private_recaptcha_key,$_SERVER["REMOTE_ADDR"],$_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]);
if (!$resp->is_valid){
die ('wrong captcha');
}
}
if(isset($_POST['name']) and $_POST['name'] != ''){$message_body .= '<p>Visitor: ' . $_POST['name'] . '</p>' . "\n" . '<br>' . "\n"; $subject.=$_POST['name'];}
if(isset($_POST['email']) and $_POST['email'] != ''){$message_body .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n" . '<br>' . "\n"; $user_email=$_POST['email'];}
if(isset($_POST['state']) and $_POST['state'] != ''){$message_body .= '<p>State: ' . $_POST['state'] . '</p>' . "\n" . '<br>' . "\n";}
if(isset($_POST['phone']) and $_POST['phone'] != ''){$message_body .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n" . '<br>' . "\n";}
if(isset($_POST['fax']) and $_POST['fax'] != ''){$message_body .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n" . '<br>' . "\n";}
if(isset($_POST['message']) and $_POST['message'] != ''){$message_body .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";}
if(isset($_POST['stripHTML']) and $_POST['stripHTML']=='true'){$message_body = strip_tags($message_body);$message_type='text';}
try{
include "libmail.php";
$m= new Mail("utf-8");
$m->From($user_email);
$m->To($owner_email);
$m->Subject($subject);
$m->Body($message_body,$message_type);
//$m->log_on(true);
if(isset($_FILES['attachment'])){
if($_FILES['attachment']['size']>$max_file_size){
$error_text=$error_text_filesize . ' ' . $max_file_size . 'bytes';
die($error_text);
}else{
if(preg_match($file_types,$_FILES['attachment']['name'])){
$m->Attach($_FILES['attachment']['tmp_name'],$_FILES['attachment']['name'],'','attachment');
}else{
$error_text=$error_text_filetype;
die($error_text);
}
}
}
if(!$use_smtp){
$m->smtp_on( $host, $username, $password, $port);
}
if($m->Send()){
die('success');
}
}catch(Exception $mail){
die($mail);
}
?>
来自contact.html的部分是邮件发送布局
<div class="grid_6">
<div class="wrap_18">
<h2 class="header_2 indent_2">
Contact Form
</h2>
<form id="contact-form">
<div class="contact-form-loader"></div>
<fieldset>
<div class="row">
<div class="grid_2">
<label class="name">
<input type="text" name="name" placeholder="Name:" value=""
data-constraints="@Required @JustLetters"/>
<span class="empty-message">*This field is required.</span>
<span class="error-message">*This is not a valid name.</span>
</label>
</div>
<div class="grid_2">
<label class="email">
<input type="text" name="email" placeholder="E-mail:" value=""
data-constraints="@Required @Email"/>
<span class="empty-message">*This field is required.</span>
<span class="error-message">*This is not a valid email.</span>
</label>
</div>
<div class="grid_2">
<label class="phone">
<input type="text" name="phone" placeholder="Phone:" value=""
data-constraints="@JustNumbers"/>
<span class="empty-message">*This field is required.</span>
<span class="error-message">*This is not a valid phone.</span>
</label>
</div>
</div>
<label class="message">
<textarea name="message" placeholder="Message:"
data-constraints='@Required @Length(min=20,max=999999)'></textarea>
<span class="empty-message">*This field is required.</span>
<span class="error-message">*The message is too short.</span>
</label>
<div class="btn-wrap">
<a class="btn_3" href="#" data-type="reset">clear</a>
<a class="btn_3" href="contacts.html" data-type="submit">send</a>
</div>
</fieldset>
<div class="modal fade response-message">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">×</button>
<h4 class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
You message has been sent! We will be in touch soon.
</div>
</div>
</div>
</div>
</form>
</div>
</div>
当我点击提交按钮时,会显示一条错误消息,即
错误!
is_valid){ die ('wrong captcha'); } } if(isset($_POST['name']) and $_POST['name'] != ''){$message_body .= '
Visitor: ' . $_POST['name'] . '
' . "\n" . '
' . "\n"; $subject.=$_POST['name'];} if(isset($_POST['email']) and $_POST['email'] != ''){$message_body .= '
Email Address: ' . $_POST['email'] . '
' . "\n" . '
' . "\n"; $user_email=$_POST['email'];} if(isset($_POST['state']) and $_POST['state'] != ''){$message_body .= '
State: ' . $_POST['state'] . '
' . "\n" . '
' . "\n";} if(isset($_POST['phone']) and $_POST['phone'] != ''){$message_body .= '
Phone Number: ' . $_POST['phone'] . '
' . "\n" . '
' . "\n";} if(isset($_POST['fax']) and $_POST['fax'] != ''){$message_body .= '
Fax Number: ' . $_POST['fax'] . '
' . "\n" . '
' . "\n";} if(isset($_POST['message']) and $_POST['message'] != ''){$message_body .= '
Message: ' . $_POST['message'] . '
' . "\n";} if(isset($_POST['stripHTML']) and $_POST['stripHTML']=='true'){$message_body = strip_tags($message_body);$message_type='text';} try{ include "libmail.php"; $m= new Mail("utf-8"); $m->From($user_email); $m->To($owner_email); $m->Subject($subject); $m->Body($message_body,$message_type); //$m->log_on(true); /* if(isset($_FILES['attachment'])){ if($_FILES['attachment']['size']>$max_file_size){ $error_text=$error_text_filesize . ' ' . $max_file_size . 'bytes'; die($error_text); }else{ if(preg_match($file_types,$_FILES['attachment']['name'])){ $m->Attach($_FILES['attachment']['tmp_name'],$_FILES['attachment']['name'],'','attachment'); }else{ $error_text=$error_text_filetype; die($error_text); } } }*/ if(!$use_smtp){ $m->smtp_on( $host, $username, $password, $port); } if($m->Send()){ die('success'); } }catch(Exception $mail){ die($mail); } ?>