没有从我网站上的联系表单接收来自gmail用户的电子邮件

时间:2014-11-27 18:10:10

标签: php email gmail phpmailer

我有一个用PHPMailer创建的联系表单,用户可以在其中输入数据。如果是电子邮件字段,请输入带有Gmail的电子邮件,我不会收到此电子邮件,甚至不会收到垃圾邮件文件夹。我设置了ReplyTo,但都不起作用。我假设它可以被服务器阻止。

PHP:

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

/*datos personales*/
$name       = strip_tags(trim($_POST['nombre']));
$name       = str_replace(array("\r","\n"),array(" "," "),$name);
$provincia  = $_POST['provincia'];
$localidad  = strip_tags(trim($_POST['localidad']));
$email      = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL);
$prefijo    = strip_tags(trim($_POST['prefijo']));
$sufijo     = strip_tags(trim($_POST['telefono']));
$telefono   = $prefijo.' - '.$sufijo;


if ( $marca == 'default' || $modelo == 'default' || $cilin == 'default' || $valvulas == 'default' || $anio == 'default' || $autonomia == 'default') {            
    http_response_code(400);
    echo "Porfavor, corrobore que no falte ningún dato del vehículo.";
    exit;
} else if ( $provincia == 'default' ) {
    http_response_code(400);
    echo "Porfavor, eliga una provincia.";
    exit;
} else if ( $pago == 'default' ) {
    http_response_code(400);
    echo "Porfavor, eliga un método de pago.";
    exit;
} else if (empty($name) || empty($localidad) || empty($prefijo) | empty($telefono)) {
    http_response_code(400);
    echo "Porfavor, complete los campos que estan en blanco.";
    exit;
}

$recipient = "info@energygnc.com.ar";

$subject = "[Cotizador EnergyGNC] Solicitud de cotización por $name en energygnc.com.ar";
// Build the email content.
$email_content = "Solicitud de cotización realizada por: $name ($email)<br><br>";
$email_content .= "Datos del vehículo:<br>Marca: $marca $modelo modelo $anio<br>";
$email_content .= "Motor: $cilin - $valvulas<br>";
$email_content .= "Autonomia deseada: $autonomia<br><br>";
$email_content .= "Datos del cliente:<br>Nombre: $name<br>Email: $email<br>Telefono: $telefono<br>";
$email_content .= "Provincia: $provincia<br>Localidad: $localidad.<br>";
$email_content .= "Metodo de pago que me interesa: $pago";

$mail = new PHPMailer();
$mail->IsHTML(true);

$mail->SetFrom($email, $name);
$mail->ClearReplyTos();
$mail->AddReplyTo($email, $name);
$mail->AddAddress($recipient);
$mail->Subject = '[Cotizador EnergyGNC] Solicitud de cotización por '.$name.' en energygnc.com.ar'; 
$mail->Body = $email_content;

if(!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Gracias por contactarse con nosotros.";
}

1 个答案:

答案 0 :(得分:0)

GMail可能会使用Sender Policy Framework。这意味着您的邮件提供商将检查您的服务器(代表gmail发送邮件)是否允许Google通过其域发送邮件。

您宁愿将发件人的电子邮件放在邮件内容中,并使用“发件人”字段中的其他地址。