Bom dia!
Pessoal estou com um problema estou tentando enviar um e-mail através de um formulário que criei no site da empresa que eu trabalho, porém na hora de enviar está dando erro.
Obs: a hospedagem do site está na Locaweb
Segue abaixo o erro:
Fatal error: Uncaught Error: Call to undefined function eregi() in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php:593 Stack trace: #0 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(518): PHPMailer->SmtpConnect() #1 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(410): PHPMailer->SmtpSend('Date: Sat, 5 Ju...', '--b1_b48d510d23...') #2 /home/storage/2/a8/c3/odontosmilesfran1/public_html/envio-franqueador.php(55): PHPMailer->Send() #3 {main} thrown in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php on line 593
Segue o código do script de envio:
<?
require_once("class.phpmailer.php");
//Nova instância do PHPMailer
$mail = new PHPMailer;
//Informa que será utilizado o SMTP para envio do e-mail
$mail->IsSMTP();
//Informa que a conexão com o SMTP será autênticado
$mail->SMTPAuth = true;
//Configura a segurança para SSL
$mail->SMTPSecure = "ssl";
$mail->Port = 465;
$mail->Host = "email-ssl.com.br";
//Usuário para autênticação do SMTP
$mail->Username = "sejaumfranqueado@odontosmilesfranchising.com.br";
//Senha para autênticação do SMTP
$mail->Password = "12345678"; // senha ficticia
//Titulo do e-mail que será enviado
$mail->Subject = "PEDIDO PARA SER UM FRANQUEADOR";
//Preenchimento do campo FROM do e-mail
$mail->From = $mail->Username;
$mail->FromName = $_POST['nome']; // Nome do remetente
//E-mail para a qual o e-mail será enviado
$mail->AddAddress("sejaumfranqueado@odontosmilesfranchising.com.br");
//Conteúdo do e-mail
//$mail->Body = "Novo contato feito através do site Araújo Imóveis.";
$mail->From = $_POST['email']; // E-mail do remetente
$mail->Body .= "Modelo de Franquia: ".$_POST['modelo']."<br>";
$mail->Body .= "Nome: ".$_POST['nome']."<br>";
$mail->Body .= "Email: ".$_POST['email']."<br>";
$mail->Body .= "Fone Móvel: ".$_POST['fone']."<br>";
$mail->Body .= "Fone Fixo: ".$_POST['movel']."<br>";
$mail->Body .= "Estado: ".$_POST['estado']."<br>";
$mail->Body .= "Cidade: ".$_POST['cidade']."<br>";
$mail->Body .= "Mensagem: ".nl2br($_POST['mensagem'])."";
$mail->AltBody = $mail->Body;
//Dispara o e-mail
$enviado = $mail->Send();
//Imprime sucesso.
if($enviado)
echo "<script>alert('Sua mensagem foi enviada com sucesso!')</script>";
echo "<meta http-equiv='refresh' content='2;URL=index.php'>";
?>
Segue o trecho do código do arquivo class.phpmailer.php onde está dando o erro
/* Choose the mailer */
switch($this->Mailer) {
case 'sendmail':
$result = $this->SendmailSend($header, $body);
break;
case 'smtp':
[b][color=red]
$result = $this->SmtpSend($header, $body); // nessa linha 410 está dando erro
[/color][/b]
break;
case 'mail':
$result = $this->MailSend($header, $body);
break;
default:
$result = $this->MailSend($header, $body);
break;
//$this->SetError($this->Mailer . $this->Lang('mailer_not_supported'));
//$result = false;
//break;
}
return $result;
}
/**
Aqui está outro trecho do código:
/* Retry while there is no connection */
while($index < count($hosts) && $connection == false) {
$hostinfo = array();
[b][color=red] if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) { // aqui está dando erro linha 593[/color][/b]
$host = $hostinfo[1];
$port = $hostinfo[2];
} else {
$host = $hosts[$index];
$port = $this->Port;
}
$tls = ($this->SMTPSecure == 'tls');
$ssl = ($this->SMTPSecure == 'ssl');
if($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) {
$hello = ($this->Helo != '' ? $this->Hello : $this->ServerHostname());
$this->smtp->Hello($hello);
if($tls) {
if(!$this->smtp->StartTLS()) {
$this->SetError($this->Lang("tls"));
$this->smtp->Reset();
$connection = false;
}
//We must resend HELLO after tls negociation
$this->smtp->Hello($hello);
}
$connection = true;
if($this->SMTPAuth) {
if(!$this->smtp->Authenticate($this->Username, $this->Password)) {
$this->SetError($this->Lang('authenticate'));
$this->smtp->Reset();
$connection = false;
}
}
}
$index++;
}
if(!$connection) {
$this->SetError($this->Lang('connect_host'));
}
return $connection;
}
Obrigado a todos que puderem ajudar