PHP联系人表单问题(不会向我的电子邮件发送查询):(

PHP联系人表单问题(不会向我的电子邮件发送查询):(,php,html,forms,phpmailer,contact-form,Php,Html,Forms,Phpmailer,Contact Form,我最难找到这个php表单中的错误。我以各种可能的方式编辑了它,表单在我的网站上提交,但是我从未收到任何发送到我电子邮件的表单。有人能帮我查看下面的代码吗?php表单?TIA 阿曼达 <? require("class.phpmailer.php"); //form validation vars $formok = true; $errors = array(); //sumbission data $ipaddress = $_SERVER['REMOTE_ADDR']; $dat

我最难找到这个php表单中的错误。我以各种可能的方式编辑了它,表单在我的网站上提交,但是我从未收到任何发送到我电子邮件的表单。有人能帮我查看下面的代码吗?php表单?TIA

阿曼达

<?
require("class.phpmailer.php");


//form validation vars
$formok = true;
$errors = array();

//sumbission data
$ipaddress = $_SERVER['REMOTE_ADDR'];
$date = date('d/m/Y');
$time = date('H:i:s');

//form data
$name = $_POST['name']; 
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];


$mail = new PHPMailer();

$mail->IsSMTP();                                         // send via SMTP
$mail->Host     = "smtp.gmail.com";                      // SMTP   server
$mail->SMTPAuth = true;                                    // turn on SMTP authentication
$mail->SMTPSecure = 'tls';
$mail->Username = "dont.reply.m@gmail.com";                  // SMTP username
$mail->Password = "password";                            // SMTP password

$mail->From     = "dont.reply.m@gmail.com";              // SMTP username
$mail->AddAddress("mypersonalemail@msn.com");                // Your Address
$mail->Subject  =  "New Message from your website!";
$mail->IsHTML(true);  
$mail->CharSet = 'UTF-8';
$mail->Body     =  "<p>You have recieved a new message from the contact form on your website.</p>
                  <p><strong>Name: </strong> {$name} </p>
                  <p><strong>Email Address: </strong> {$email} </p>
                  <p><strong>Subject: </strong> {$subject} </p>
                  <p><strong>Message: </strong> {$message} </p>
                  <p>This message was sent from the IP Address: {$ipaddress} on {$date} at {$time}</p>";

if(!$mail->Send())
{
echo "Mail Not Sent <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

echo "Mail Sent";


?>

尝试添加$mail->Port=587并参考以下链接。有时,如果gmail不是TLS,则$mail->SMTPSecure应该是SSL

这是使用Gmail设置发送电子邮件的完整参考


如果要在localhost中测试,请确保已安装邮件服务器

如果处于联机状态,请尝试使用有效信息

$mail->Host     = "smtp.gmail.com";                      // SMTP   server
$mail->SMTPAuth = true;                                    // turn on SMTP authentication
$mail->SMTPSecure = 'tls';
$mail->Username = "dont.reply.m@gmail.com";                  // SMTP username
$mail->Password = "password";                            // SMTP password

$mail->From     = "dont.reply.m@gmail.com";              // SMTP username

将这些替换为reals

那么您是否在表单提交后收到打印在页面上的
邮件?我希望您没有在localhostreplicate@asprin上进行测试是的,我在提交测试邮件时收到邮件发送通知。它不知怎的不会发送到我的电子邮件,因此我不知道是否通过是否与表单联系。@Baig localhost?我已将其上载到我的服务器上。我在$mail->SMTPSecure行中将tls更改为ssl,但在哪里添加$mail->Port=587?感谢您的帮助。它可以添加到$mail->SMTPSecure行$mail->Port=587的正下方,我希望您已经这样做了。我没有,但表单可以工作。我对该字段有问题输入我提交的信息(例如,有人注册时事通讯并在电子邮件字段中输入他们的电子邮件-它向我发送电子邮件,并显示ip地址,但不显示他们输入的电子邮件地址。)有什么建议吗?我只是在发布我的问题时交换了它,以确保机密性