PHPMailer发送到空白页

PHPMailer发送到空白页,php,phpmailer,Php,Phpmailer,我试图让PHPMailer从表单数据发送邮件(显然) 问题: 提交表格时,我会被发送到一个空白页。没有报告任何错误。我已经尽可能多地跟踪了围绕这个问题的stackoverflow线程,但这些线程中没有解决方案能够为我自己解决这个问题 谢谢 错误: 修复了除以下错误之外的所有错误:2016-03-26 22:10:43 SMTP错误:无法连接到服务器:连接被拒绝(111)2016-03-26 22:10:43 SMTP connect()失败 PHP: 您应该确保没有错误。尝试将此代码放在文件顶部

我试图让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,它工作得很好。谢谢你的帮助。你应该考虑过滤你的输入和添加一些垃圾邮件过滤技术。可能是另一个话题的问题,但你可以从