Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

diogopitz

Erro estranho com a função mail

Recommended Posts

Hey, calma aí, não sou tão juvenil assim hehe... claro que notei que havia erros, tanto que eu corrigi. Na verdade o erro que foi apontado foi do ";", achei que você tivesse esquecido, feito na pressa, sei lá.. esse de undefined variable nem acusou quando rodei o arquivo...

 

vou testar o arquivo novamente. valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erros_get.php retornou o seguinte:

 

error_reporting: 6135
display_errors: 1
display_startup_errors:
log_errors: 1
track_errors: 1
error_log:
smtp:
smtp_port: 25
sendmail_path: /usr/sbin/sendmail -t -i

O que isso tudo quer dizer?

 

E o email não funcionou, mais uma vez...

ps: eu coloquei o " ' " que você tirou de propósito =P.

 

Obrigado pela ajuda até agora...

Compartilhar este post


Link para o post
Compartilhar em outros sites

no php.ini, smtp está indefinido

 

coloque "localhost" ou o nome do host de envio de email

 

o track_errors está ativado

 

tente colocar

 

echo $php_errormsg; logo após chamar mail()

para ver se retorna algo

 

 

exemplo completo:

<?php

$mail = array(
	'SMTP_HOST'   => 'localhost',
	'SMTP_PORT'   => 25,
	
	'FromMail'	=> email@gmail.com',
	'FromName'	=> 'nome do remetente',
	
	'ToMail'	  => 'teste@destinatario',
	'ToName'	  => 'destinatario',
	
	'ReturnMail'  => 'email@gmail.com',
	'ReturnName'  => 'nome do remetente',
	
	'Subject'	 => 'teste_' . time(),
	'Body'		=> 'Content Here',
	
	'Content-type'  => 'text/html',
	'charset'	   => 'UTF-8',
	'MIME-Version'  => '1.0',
	'Encoding'	  => '8bit',
);

$mail['Header'] = array(
		'From: ' . $mail['FromName'] . '<' . $mail['FromMail'] . '>',
		'To: ' . $mail['ToName'] . '<' . $mail['ToMail'] . '>',
		'Reply-To: ' . $mail['ReturnName'] . '<' . $mail['ReturnMail'] . '>',
		'Return-Path: ' . $mail['ReturnName'] . '<' . $mail['ReturnMail'] . '>',
		'MIME-Version: ' . $mail['MIME-Version'],
		'Content-type: ' . $mail['Content-type'] . ';',
		'	charset="' . $mail['charset'] . '"',
		'Content-Transfer-Encoding: ' . $mail['Encoding'],
);

if( isset( $php_errormsg ) ){
echo '<hr><b>array(): </b>' . $php_errormsg;
}

ini_set( 'SMTP', $mail['SMTP_HOST'] );
ini_set( 'smtp_port', $mail['SMTP_PORT'] );
ini_set( 'sendmail_from', $mail['FromMail'] ); // for windows only
mail( $mail['ToMail'], $mail['Subject'], $mail['Body'], join( PHP_EOL, $mail['Header'] ) );

if( isset( $php_errormsg ) ){
echo '<hr><b>mail(): </b>' . $php_errormsg;
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada...

Já to pensando em não especificar o remetente corretamente, e deixar apenas o reply-to, já que este funciona certo se o remetente for do gmail.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilice a funcao mail mesmo, mais verifique se for gmail.

$para = "teste@gmail.com";

$rest = substr($para, -9);

if ($rest == "gmail.com") {

// echo "Es um Gmail<br>";

mail ("$para", "$assunto", "$conteudo", "From: $de \n");

} else {

mail ("$para", "$assunto", "$conteudo", "From: $de \r\n");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.