“邮件错误:以下“发件人”地址失败:contact@domain.net:未连接就调用了Mail()

时间:2018-09-26 20:03:50

标签: php email smtp gmail gsuite

我正在尝试创建HTML表单,以使用GMail或Google Apps通过PHP和SMTP发送电子邮件。我正在使用“ phpmailer”,该文件夹名为“ phpmailer”。我在使用cpanel的域中,并且所有文件都在上面(index.html,email.php和phpmailer文件夹。

这是index.html,格式为:

<form action="email.php" method="post">
    <label for="Nome">Nome:</label>
    <input type="text" name="Nome" size="35" />

    <label for="Email">E-mail:</label>
    <input type="text" name="Email" size="35" />

    <label for="Fone">Telefone:</label>
    <input type="text" name="Fone" size="35" />

    <label for="Mensagem">Mensagem:</label>
    <textarea name="Mensagem" rows="8" cols="40"></textarea>

    <input type="submit" name="Enviar" value="Enviar" />
</form>    

这是email.php:

<?php
$Nome       = $_POST["Nome"];   // Pega o valor do campo Nome
$Fone       = $_POST["Fone"];   // Pega o valor do campo Telefone
$Email      = $_POST["Email"];  // Pega o valor do campo Email
$Mensagem   = $_POST["Mensagem"];   // Pega os valores do campo Mensagem

// Variável que junta os valores acima e monta o corpo do email

$Vai        = "Nome: $Nome\n\nE-mail: $Email\n\nTelefone: $Fone\n\nMensagem: 
$Mensagem\n";

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

define('GUSER', 'contato@servinfo.net');    // <-- Insira aqui o seu GMail
define('GPWD', 'password');     // <-- Insira aqui a senha do seu GMail

function smtpmailer($para, $de, $de_nome, $assunto, $corpo) { 
    global $error;
    $mail = new PHPMailer();
    $mail->IsSMTP();        // Ativar SMTP
    $mail->SMTPDebug = 0;       // Debugar: 1 = erros e mensagens, 2 = mensagens apenas
    $mail->SMTPAuth = true;     // Autenticação ativada
    $mail->SMTPSecure = 'ssl';  // SSL REQUERIDO pelo GMail
    $mail->Host = 'smtp.gmail.com'; // SMTP utilizado
    $mail->Port = 587;          // A porta 587 deverá estar aberta em seu servidor
    $mail->Username = GUSER;
    $mail->Password = GPWD;
    $mail->SetFrom($de, $de_nome);
    $mail->Subject = $assunto;
    $mail->Body = $corpo;
        $mail->AddAddress($para);
        if(!$mail->Send()) {
        $error = 'Mail error: '.$mail->ErrorInfo; 
        return false;
    } else {
        $error = 'Mensagem enviada!';
        return true;
    }
}

// Insira abaixo o email que irá receber a mensagem, o email que irá enviar (o mesmo da variável GUSER), o nome do email que envia a mensagem, o Assunto da mensagem e por último a variável com o corpo do email.

 if (smtpmailer('matheus321ms@gmail.com', 'contato@servinfo.net', 'Nome do Enviador', 'Assunto do Email', $Vai)) {

    Header("location:https://servinfo.net/obrigado.html"); // Redireciona para uma página de obrigado.

}
if (!empty($error)) echo $error;
?>

,并且显示此错误: “邮件错误:以下“发件人”地址失败:contato@servinfo.net:未连接就调用了Mail()”

我该怎么办?

0 个答案:

没有答案