PHP邮件程序错误:邮件正文为空

时间:2015-08-07 18:23:07

标签: phpmailer

我的网站上有一份(直到昨天)工作表格。表单会询问一些问题,并根据答案发送自定义的电子邮件。一切都运转正常,但它突然停止工作。这是错误状态:

邮件未发送。邮件程序错误:邮件正文空白

这几个月我没有改变任何事情。也许是服务器升级? PHP版本升级? Wordpress升级?找到附加的PHP代码,也许你发现某些“新标准”或PHP的版本有问题...

require_once("phpmailer/class.phpmailer.php");

// Recuperación de las variables del formulario

$duracion = $_POST['duracion'];
$idiomas = $_POST['idiomas'];
$provincias = $_POST['provincias'];
$zonas = $_POST['zonas'];
$Nombre = $_POST['Nombre'];
$Empresa = $_POST['Empresa'];
$Telefono = $_POST['Telefono'];
$Email = $_POST['Email'];

$mail = new PHPMailer();
$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host     = "localhost"; // SMTP server
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'presupuesto@myurl.es'; // SMTP username
$mail->Password = 'freelancer2'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->isHTML(true); // Set email format to HTML
$mail->From     = "presupuesto@myurl.es";
$mail->FromName = 'my web';

//mail

$contenido = $duracion."\n".$idiomas."\n".$provincias."\n".$zonas."\n".$Nombre."\n".$Empresa."\n".$Telefono."\n".$Email;

mail("info@myurl.es","Solicitud de Presupuesto",$contenido,"From:$Email");

// resultado en funcion de la puntuación

if ($duracion == 1 and $idiomas == 1 and $provincias ==1 and $zonas == 0) {

  $mensaje = file_get_contents("http://www.myurl.es/presupuesto/2.htm");

$mail->AddAddress($Email);
    $mail->Subject  = "Presupuesto del video";
    $mail->Body     = $mensaje;

    if(!$mail->Send()) {
        echo 'Message was not sent.';
        echo 'Mailer error: ' . $mail->ErrorInfo;
        die();
    }

  Header("Location: http://www.myurl.es/gracias");


} elseif ($duracion == 1 and $idiomas == 1 and $provincias ==2 and $zonas == 0) {

  $mensaje = file_get_contents("




...and so on! 

1 个答案:

答案 0 :(得分:0)

显而易见的结论是,您从http://www.myurl.es/presupuesto/2.htm检索的内容是空的,或者有问题。这就是您应该始终检查返回值的原因。

您还会在某些消息上伪造“发件人”地址,这几乎可以保证发送失败。

为什么要调用mail()以及使用PHPMailer?

我还可以看到你使用旧版本的PHPMailer,所以我建议你更新。