PHPMailer发送到空白页
我试图让PHPMailer从表单数据发送邮件(显然) 问题: 提交表格时,我会被发送到一个空白页。没有报告任何错误。我已经尽可能多地跟踪了围绕这个问题的stackoverflow线程,但这些线程中没有解决方案能够为我自己解决这个问题 谢谢 错误: 修复了除以下错误之外的所有错误:2016-03-26 22:10:43 SMTP错误:无法连接到服务器:连接被拒绝(111)2016-03-26 22:10:43 SMTP connect()失败 PHP:PHPMailer发送到空白页,php,phpmailer,Php,Phpmailer,我试图让PHPMailer从表单数据发送邮件(显然) 问题: 提交表格时,我会被发送到一个空白页。没有报告任何错误。我已经尽可能多地跟踪了围绕这个问题的stackoverflow线程,但这些线程中没有解决方案能够为我自己解决这个问题 谢谢 错误: 修复了除以下错误之外的所有错误:2016-03-26 22:10:43 SMTP错误:无法连接到服务器:连接被拒绝(111)2016-03-26 22:10:43 SMTP connect()失败 PHP: 您应该确保没有错误。尝试将此代码放在文件顶部
您应该确保没有错误。尝试将此代码放在文件顶部,以确保报告所有错误/警告,然后再次运行脚本
ini_set('display_startup_errors',1);
ini_set('display_errors',1);
error_reporting(E_ALL);
你应该确保没有错误。尝试将此代码放在文件顶部,以确保报告所有错误/警告,然后再次运行脚本
ini_set('display_startup_errors',1);
ini_set('display_errors',1);
error_reporting(E_ALL);
您需要将标题重定向回表单(我假设这是您想要发送它们的位置),并用URL替换标题中的位置
<?php
$message=
'First Name: '.$_POST['first'].'<br />
Last Name: '.$_POST['last'].'<br />
Phone: '.$_POST['phone'].'<br />
Email: '.$_POST['email'].'<br />
Message: '.$_POST['message'].'
';
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->SMTPDebug = 2; // Enable verbose debug output
$mail->IsSMTP(); // Sets up a SMTP connection
$mail->CharSet = 'UTF-8';
$mail->SMTPAuth = true; // Connection with the SMTP does require authorization
$mail->SMTPSecure = "tls"; // Connect using a TLS connection
$mail->Host = "smtp.gmail.com"; //Gmail SMTP server address
$mail->Port = 587;
// Authentication
$mail->Username = "xxxx@gmail.com"; // Your full Gmail address
$mail->Password = "xxxx"; // Your Gmail password
// Compose
$mail->SetFrom($_POST['email'], $_POST['firstname'] . ' ' . $_POST['lastname']);
$mail->AddReplyTo($_POST['email'], $_POST['firstname'] . ' ' . $_POST['lastname']);
$mail->Subject = "New Contact Form Enquiry"; // Subject (which isn't required)
$mail->MsgHTML($message);
// Send To
$mail->AddAddress("xxxx@gmail.com", "xxxx"); // Where to send it - Recipient
$result = $mail->Send(); // Send!
if ($result)
{
header("Location: : http://www.example.com/contactform.php");
}
else {
echo "sending mail failed: " . $mail->ErrorInfo;
}
unset($mail);
}
?>
您需要将标题重定向回表单(我假设这是您想要发送它们的位置),并用URL替换标题中的位置
<?php
$message=
'First Name: '.$_POST['first'].'<br />
Last Name: '.$_POST['last'].'<br />
Phone: '.$_POST['phone'].'<br />
Email: '.$_POST['email'].'<br />
Message: '.$_POST['message'].'
';
require 'PHPMailer/PHPMailerAutoload.php';
$mail = new PHPMailer();
$mail->SMTPDebug = 2; // Enable verbose debug output
$mail->IsSMTP(); // Sets up a SMTP connection
$mail->CharSet = 'UTF-8';
$mail->SMTPAuth = true; // Connection with the SMTP does require authorization
$mail->SMTPSecure = "tls"; // Connect using a TLS connection
$mail->Host = "smtp.gmail.com"; //Gmail SMTP server address
$mail->Port = 587;
// Authentication
$mail->Username = "xxxx@gmail.com"; // Your full Gmail address
$mail->Password = "xxxx"; // Your Gmail password
// Compose
$mail->SetFrom($_POST['email'], $_POST['firstname'] . ' ' . $_POST['lastname']);
$mail->AddReplyTo($_POST['email'], $_POST['firstname'] . ' ' . $_POST['lastname']);
$mail->Subject = "New Contact Form Enquiry"; // Subject (which isn't required)
$mail->MsgHTML($message);
// Send To
$mail->AddAddress("xxxx@gmail.com", "xxxx"); // Where to send it - Recipient
$result = $mail->Send(); // Send!
if ($result)
{
header("Location: : http://www.example.com/contactform.php");
}
else {
echo "sending mail failed: " . $mail->ErrorInfo;
}
unset($mail);
}
?>
你说你有问题,然后不说问题是什么。您收到了哪些错误/警告?如果你只是贴了一堵格式不好的代码墙,我们能为你提供什么帮助呢?请省去这些请求和社论。只需添加相关代码并清楚说明问题。对不起,它在标题中。问题是,PHPMailer在提交后将我发送到一个空白页。我没有任何错误,它只是转到空白页。我想您已经尝试过用SSL端口465了吗?很确定这就是谷歌所使用的。9/10这些问题是不正确的服务器信息。看起来很奇怪,你根本没有得到任何输出。尝试添加echo
语句以进行调试。是的,先生,我尝试了TLS和SSL端口,但均未成功。您说您有问题,但没有说明问题所在。您收到了哪些错误/警告?如果你只是贴了一堵格式不好的代码墙,我们能为你提供什么帮助呢?请省去这些请求和社论。只需添加相关代码并清楚说明问题。对不起,它在标题中。问题是,PHPMailer在提交后将我发送到一个空白页。我没有任何错误,它只是转到空白页。我想您已经尝试过用SSL端口465了吗?很确定这就是谷歌所使用的。9/10这些问题是不正确的服务器信息。看起来很奇怪,你根本没有得到任何输出。尝试添加echo
语句以进行调试。是的,先生,我尝试了TLS和SSL端口,但均未成功。谢谢,我现在可以看到错误。如果我弄不清楚,我将发布。好的,我修复了所有错误,除了:2016-03-26 22:10:43 SMTP错误:无法连接到服务器:连接被拒绝(111)2016-03-26 22:10:43 SMTP连接()失败。好吧,我也明白了。Godaddy只允许使用其SMTP服务器。太蠢了。谢谢你,我现在能看到错误了。如果我弄不清楚,我将发布。好的,我修复了所有错误,除了:2016-03-26 22:10:43 SMTP错误:无法连接到服务器:连接被拒绝(111)2016-03-26 22:10:43 SMTP连接()失败。好吧,我也明白了。Godaddy只允许使用其SMTP服务器。太愚蠢了。这实际上给了我以下错误:警告:无法修改标题信息-标题已经由/home/xxxx/public_html/PHPMailer/class.smtp.php:234)在/home/xxxx/public_html/mailer.php的第41行发送(输出开始于/home/xxxx/public_html/PHPMailer/class.smtp.php:234)。在设置标题之前,您无法回显任何输出。因此,请确保标题前没有调试回音。也解决了此问题。我不得不禁用/注释掉SMTPDebug,它工作得很好。谢谢你的帮助。你应该考虑过滤你的输入和添加一些垃圾邮件过滤技术。可能是另一个主题的问题,但您可以从这开始,这实际上给了我以下错误:警告:无法修改标题信息-标题已由/home/xxxx/public_html/PHPMailer/class.smtp.php:234)在/home/xxxx/public_html/mailer.php第41行上的/home/xxxx/public_html/mailer.php中发送,在设置标题之前,您无法回显任何输出。因此,请确保标题前没有调试回音。也解决了此问题。我不得不禁用/注释掉SMTPDebug,它工作得很好。谢谢你的帮助。你应该考虑过滤你的输入和添加一些垃圾邮件过滤技术。可能是另一个话题的问题,但你可以从