Ir para conteúdo

POWERED BY:

Arquivado

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

Jipa

Usando Classe phpMailer para envio de E-mails

Recommended Posts

Alguém pode me ajudar?, está dando um erro Mailer Error: The following From address failed:

já verifiquei o endereço de e-mail e esta correto. Não sei o que pode ser...

 

<?php
	//Inclue a Classe PHPMailer ao código
	require_once("phpmailer/class.phpmailer.php");
	

	//Pega os dados enviados pelo formulário
	$fromname = $_POST["seunome"];
	$fromemail = $_POST["seuemail"];
	$toname = $_POST["toname"];
	$toemail = $_POST["toemail"];
	$assunto = $_POST["assunto"];
	$mensagem = $_POST["mensagem"];

  
	$mail = new PHPMailer();
	$mail->SetLanguage("phpmailer/language/phpmailer.lang-br.php");
	//define que a forma de envio será SMTP
	$mail->IsSMTP();

	//habilita a autenticação, necessária para usar o Yahoo
	$mail->SMTPAuth = true;
  
   
	//Define o endereço de SMTP, no nosso caso o do Yahool
	$mail->Host = "smtp.mail.yahoo.com.br";
	//Define a porta usada pelo Yahoo
	$mail->Port = 25;

	//Usuário e senha Yahoo
	$mail->Username = "exemplo@yahoo.com.br";
	$mail->Password = "xxx";

	//Remetente
	$mail->From = $fromemail;
	$mail->FromName = $fromname;
	

	//Assunto
	$mail->Subject = $assunto;

	//Corpo da mensagem
	$mail->Body = $mensagem;
	$mail->AltBody = $mensagem;

	//Destinatário
	$mail->AddAddress("exemplo@yahoo.com.br");

	//Mensagem de erro ou de sucesso no envio
	if(!$mail->Send()) {
	echo "Mailer Error: " . $mail->ErrorInfo;
	} else {
	echo "Email enviado com sucesso!";
	}

 ?>

 

No arquivo php.ini modifiquei as seguinte linhas

 

[mail function]

; For Win32 only.

SMTP = smtp.mail.yahoo.com.br

smtp_port = 25

 

; For Win32 only.

sendmail_from = exemplo@yahoo.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

teu servidor nao usa criptografia ?

de uma olhada nesse topico:

http://forum.imasters.com.br/index.php...amp;pid=1250515

 

*se nao me engano o perukao posto um script do mailer no yahoo cata por ali ^^

 

valww espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou realmente desacreditando que esta classe funcione, pois o tanto que já pesquisei e tudo que vi foi um monte de gente com erros e nenhum postou que conseguiu arrumar o erro e que funcionou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Logico que não ira funciona ...

 

você não pode ussa o smtp do yahoo .....

para mandar o email ...

 

antigamente podia agora eles colocarão firewall e não aceita a autenticação pelo fato que estava carregando muito o servidor e pela segurança ...

 

e pelo fato que os usuários poderia manda e-mail zumbi para todos os usuários com seu email ... penso o caus que seria ????

 

smtp.mail.yahoo.com.br

 

 

teste ussa seu próprio smtp ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou realmente desacreditando que esta classe funcione, pois o tanto que já pesquisei e tudo que vi foi um monte de gente com erros e nenhum postou que conseguiu arrumar o erro e que funcionou...

deu uma olhada nesse topico que te flwei ?

 

de uma olhada nesse topico:

http://forum.imasters.com.br/index.php...amp;pid=1250515

 

*se nao me engano o perukao posto um script do mailer no yahoo cata por ali ^^

neste topico tem pelomenos 4 exemplos funcionando um por min ( Gmail ) , um pelo perukao ( yahoo ) e dois por hinom ( otro servidor e Gmail) ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Logico que não ira funciona ...

 

você não pode ussa o smtp do yahoo .....

para mandar o email ...

 

antigamente podia agora eles colocarão firewall e não aceita a autenticação pelo fato que estava carregando muito o servidor e pela segurança ...

 

e pelo fato que os usuários poderia manda e-mail zumbi para todos os usuários com seu email ... penso o caus que seria ????

 

smtp.mail.yahoo.com.br

 

 

teste ussa seu próprio smtp ...

 

hehe...Já consegui funcionou nada a ver o que você falou... consegui com o yahoo e gmail.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estou realmente desacreditando que esta classe funcione, pois o tanto que já pesquisei e tudo que vi foi um monte de gente com erros e nenhum postou que conseguiu arrumar o erro e que funcionou...

deu uma olhada nesse topico que te flwei ?

 

de uma olhada nesse topico:

http://forum.imasters.com.br/index.php...amp;pid=1250515

 

*se nao me engano o perukao posto um script do mailer no yahoo cata por ali ^^

neste topico tem pelomenos 4 exemplos funcionando um por min ( Gmail ) , um pelo perukao ( yahoo ) e dois por hinom ( otro servidor e Gmail) ..

 

Oi Will valeu pela atenção eu já consegui fazer o script funcionar mais tem outra coisinha que quero mudar e quero sua opinião pra ver se resolvemos esse erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ESSE FUNCIONOU NORMAL.

<?php
	  include("class.phpmailer.php");
	
	$assunto = $_POST["assunto"];
	$mensagem = $_POST["mensagem"];
  
  
	$mail = new PHPMailer();
	   
	$mail->IsSMTP();
	$mail->SMTPAuth = true;
	$mail->Host = "smtp.pva.terra.com.br";
	$mail->Port = 25;
	   
	$mail->Username = "exemplo@terra.com.br";
	$mail->Password = "xxx";

	$mail->From = "exemplo@terra.com.br";
	$mail->FromName = "exemplo";
	
	$mail->Subject = $assunto;
 
	$mail->Body = $mensagem;
	$mail->AltBody = $mensagem;

	//Destinatário, ou seja, quem vai receber a mensagem
	$mail-> addaddress("pessoa@gmail.com", "pessoa");

	//Mensagem de erro ou de sucesso no envio
	if(!$mail->Send()) {
	echo "Mailer Error: " . $mail->ErrorInfo;
	} else {
	echo "Email enviado com sucesso!";
	}

	?>

Agora esse segundo script estou tentando passar o e-mail do cliente para o FROM mais ta surgindo um erro na hora de enviar os dados.

 

Tenho um formulario.html

 

NOME: João

E-MAIL: joao@gmail.com

MENSAGEM: xxxx

 

 

<?PHP
 include("class.phpmailer.php");

$nome = utf8_decode($_POST['nome']);
$emailusuario = utf8_decode($_POST['emailusuario']);
$assunto = utf8_decode($_POST['assunto']);
$mensagem = utf8_decode($_POST['mensagem']);


$Email = new PHPMailer();
$Email->IsMail();
$Email->IsHTML(true);


$Email->IsSMTP();
$Email->SMTPAuth = true;
$Email->Host = "smtp.pva.terra.com.br";
$Email->Port = 25;

$Email->Username = "exemplo@terra.com.br"; 
$Email->Password = "xxx"; 

$Email->FromName = $nome;
$Email->From = $emailusuario;


$Email->Subject = "Fale Conosco";

$body = $mensagem;

$Email->MsgHTML($body);
$Email->AltBody = $body;
$Email->WordWrap = 50;

$Email->AddAddress("pessoa@gmail.com", "pessoa");  
		 
if(!$Email->Send()) {
  echo "A mensagem não foi enviada.";
  echo "Mensagem de erro: " . $Email->ErrorInfo;
} else {
  echo "Mensagem enviada!";
}

?>

Informa o seguinte erro, Mensagem de erro: Language string failed to load: from_failedjoao@gmail.com

o que seria este erro?, pode até ser um erro bobo, mais não entendo muito php não, estou começando a praticar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usa

 

$mail->IsHTML(true);
$mail->Body = $body; // preferencial com HTML
$mail->AltBody = $otrobody; // alternativo sem HTML

valww

 

Oi Will, mais já tem essa parte de codigo no script acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta usa

 

$mail->IsHTML(true);
$mail->Body = $body; // preferencial com HTML
$mail->AltBody = $otrobody; // alternativo sem HTML

valww

 

Oi Will, mais já tem essa parte de codigo no script acima.

 

no primeiro que voce dise que funcionou note que esta ultilizando para definir o corpo

 

$mail->Body = $body;

ja no outro que voce diz que nao esta voce define por

 

$Email->MsgHTML($body);

tambem tem este

 

$Email->IsMail();

que ha somente no segundo que nao esta funcionando

 

ESSE FUNCIONOU NORMAL.

CODE

<?php

include("class.phpmailer.php");

 

$assunto = $_POST["assunto"];

$mensagem = $_POST["mensagem"];

 

 

$mail = new PHPMailer();

 

$mail->IsSMTP();

$mail->SMTPAuth = true;

$mail->Host = "smtp.pva.terra.com.br";

$mail->Port = 25;

 

$mail->Username = "exemplo@terra.com.br";

$mail->Password = "xxx";

 

$mail->From = "exemplo@terra.com.br";

$mail->FromName = "exemplo";

 

$mail->Subject = $assunto;

 

$mail->Body = $mensagem;

$mail->AltBody = $mensagem;

 

//Destinatário, ou seja, quem vai receber a mensagem

$mail-> addaddress("pessoa@gmail.com", "pessoa");

 

//Mensagem de erro ou de sucesso no envio

if(!$mail->Send()) {

echo "Mailer Error: " . $mail->ErrorInfo;

} else {

echo "Email enviado com sucesso!";

}

 

?>

 

 

Agora esse segundo script estou tentando passar o e-mail do cliente para o FROM mais ta surgindo um erro na hora de enviar os dados.

 

Tenho um formulario.html

 

NOME: João

E-MAIL: joao@gmail.com

MENSAGEM: xxxx

 

 

CODE

<?PHP

include("class.phpmailer.php");

 

$nome = utf8_decode($_POST['nome']);

$emailusuario = utf8_decode($_POST['emailusuario']);

$assunto = utf8_decode($_POST['assunto']);

$mensagem = utf8_decode($_POST['mensagem']);

 

 

$Email = new PHPMailer();

$Email->IsMail();

$Email->IsHTML(true);

 

 

$Email->IsSMTP();

$Email->SMTPAuth = true;

$Email->Host = "smtp.pva.terra.com.br";

$Email->Port = 25;

 

$Email->Username = "exemplo@terra.com.br";

$Email->Password = "xxx";

 

$Email->FromName = $nome;

$Email->From = $emailusuario;

 

 

$Email->Subject = "Fale Conosco";

 

$body = $mensagem;

 

$Email->MsgHTML($body);

$Email->AltBody = $body;

$Email->WordWrap = 50;

 

$Email->AddAddress("pessoa@gmail.com", "pessoa");

 

if(!$Email->Send()) {

echo "A mensagem não foi enviada.";

echo "Mensagem de erro: " . $Email->ErrorInfo;

} else {

echo "Mensagem enviada!";

}

 

?>

 

 

Informa o seguinte erro, Mensagem de erro: Language string failed to load: from_failedjoao@gmail.com

o que seria este erro?, pode até ser um erro bobo, mais não entendo muito php não, estou começando a praticar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Will, fiz o que você sugeriu e nada, acontece o mesmo erro, pelo que pude perceber só funciona se colocar dessa forma $Email->From = "exemplo@terra.com.br"; ou seja adicionando diretamente mais dessa forma não é interessante.

Outra coisa que verifiquei é que o From não aceita outro endereço de e-mail que não seja o meu mesmo que estou atenticando no smtp e no username. Já testei outros endereços de e-mail e não aceita, surge o mesmo erro.

 

O correto é o cliente entrar com seu e-mail e o From pegar através da variavel. Mas pelo que pude verificar isso não tem como.

 

Se você puder tenta testar pra ver como não funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

envia para outros email sim .. so que no caso nao é neste from que coloca o email do destinatario.. eh no

$mail->AddAddress("exemplo@yahoo.com.br");

mass man.. sei la entao.. da uma ultima verificada no nome das variaveis e caminhos .. por exemplo : as veses tah escrito $email no lugar de $mail e agente nem nota ^^

 

vamos esperar mais opinioes ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

envia para outros email sim .. so que no caso nao é neste from que coloca o email do destinatario.. eh no

$mail->AddAddress("exemplo@yahoo.com.br");

mass man.. sei la entao.. da uma ultima verificada no nome das variaveis e caminhos .. por exemplo : as veses tah escrito $email no lugar de $mail e agente nem nota ^^

 

vamos esperar mais opinioes ^^

 

Não você não entendeu o que eu disse, o destinatário(AddAddress) eu sei que tem como mudar, eu to dizendo o From que é o remetente. O from que é o remetente não aceita outro rementente se não o proprio endereço de e-mail atenticado no smtp.

se colocar outro endereço de e-mail no from da erro, mesmo colocando diretamente o endereço no From.

 

Exemplo:

 

$Email->IsSMTP();
$Email->SMTPAuth = true;
$Email->Host = "smtp.pva.terra.com.br";
$Email->Port = 25;

$Email->Username = "exemplo@terra.com.br"; 
$Email->Password = "xxx";

$Email->From = "exemplo@terra.com.br";   ---> TIPO SE EU COLOCAR AQUI "hack@gmail.com" NÃO FUNCIONA
$Email->FromName = "xxx";							  SÓ FUNCIONA SE FOR O MESMO ENDEREÇO DO SMTP e do username.

 

$Email->From = $nome;

$Email->FromName = $emailusuario;

 

SE COLOCAR DESSA FORMA TAMBÉM NÃO DA CERTO.

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.