Ir para conteúdo

POWERED BY:

Arquivado

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

Will Fernando

[Resolvido] PHPmailer - Gmail

Recommended Posts

opa galera, assim eu estou tentando fazer uma newsletter usando o mailer, estou testando no gmail primeiro para depois executa no servidor que quero, sab pra v primeiro se esta tudo funcionando certinho ... as configuracoes da classe que estou usando sao estas

 

$mail = new PHPMailer();  
 
$mail->IsSMTP();
$mail->SMTPAuth   = true;				
$mail->SMTPSecure = "ssl";				
$mail->Host	   = "smtp.gmail.com";	 
$mail->Port	   = 465;				  
$mail->Username   = "rezer13@gmail.com";  
$mail->Password   = "******";

mas ele fica dando erro

 

Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://smtp.gmail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?) in C:\xampp\htdocs\newsletter\PHPMailer\class.smtp.php on line 122

entao dei uma olhada na linha q fala

 

if(empty($port)) {
	  $port = $this->SMTP_PORT;
	}

	#connect to the smtp server
	$this->smtp_conn = fsockopen($host,	# the host of the server
								 $port,	# the port to use
								 $errno,   # error number if any
								 $errstr,  # error message if any
								 $tval);   # give up after ? secs
	# verify we connected properly
	if(empty($this->smtp_conn)) {
	  $this->error = array("error" => "Failed to connect to server",
						   "errno" => $errno,
						   "errstr" => $errstr);
	  if($this->do_debug >= 1) {
		echo "SMTP -> ERROR: " . $this->error["error"] .
				 ": $errstr ($errno)" . $this->CRLF;
	  }
	  return false;
	}

	# sometimes the SMTP server takes a little longer to respond
	# so we will give it a longer timeout for the first read
	// Windows still does not have support for this timeout function
	if(substr(PHP_OS, 0, 3) != "WIN")
	 socket_set_timeout($this->smtp_conn, $tval, 0);

	# get any announcement stuff
	$announce = $this->get_lines();

mas provavelmente nao deve ter que alterar nada ai pra funcionar, pois é um arquivo "base" podemos dizer...

 

alquem ja teve este problema ??

 

alias aproveitando ... qro colocar uma figura na mensagem, mas o html da figura tem " e eu tenho que joga pra dentro de uma variavel que tambem tem que usar " ... eu lembro q ja tive esse problema so nao lembro como resolvi... nao tem um caracter d escape ou algo assim ?

 

obrigado 2x ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

da o mesmo erro ... por que o class_phpmailer.php inclue ele se for usar smtp ... ( eu acho )... mas da o mesmo erro ^^

 

function SmtpSend($header, $body) {
	include_once($this->PluginDir . 'class.smtp.php');
	$error = '';
	$bad_rcpt = array();

	if(!$this->SmtpConnect()) {
	  return false;
	}

Compartilhar este post


Link para o post
Compartilhar em outros sites

...did you forget to enable it when you configured PHP...

 

verifique se o PHP está com SSL ativado

 

para verificar execute phpinfo() e procure por OPENSSL

 

se não encontrar, deve ativá-lo

 

no php.ini habilite

 

php_openssl.dll

 

certifique-se de que esse dll existe na pasta de extensões definida em "extension_dir"

 

salve as alterações, reinicie o web server e execute novamente phpinfo para certificar-se de que a extensão tenha sido carregada

Compartilhar este post


Link para o post
Compartilhar em outros sites

hinom, eu também naum estou conseguindo utilizar o phpmailer aqui....

já configurei ele para o gmail... diz testes com ele simples mesmo.... mas de jeito-maneira-nenhuma eu consigo enviar um email com ele...

 

Nem aqui em casa nem no meu server externo, esta abilitada a extensão para SSL...

Aqui em casa eu ativei ela no php.ini, copiei o arquivo para a pasta do windows, copiei a dll para a system32, e reiniciei o apache.... mas nem assim... ele carrega a extensão, nem faz o form funcionar.. =/

 

» ???? «

Compartilhar este post


Link para o post
Compartilhar em outros sites

correto tava desativado... mass... continua nao funcionando .. xP

pelomenos mudo o erro xP

 

Could not instantiate mail function.

OBS : erro tratado

 

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

echo "Erro DNOVO !".$mail->ErrorInfo;

} else {

echo "ALELUIA DEU CERTO !";

}

valww galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

Will,

uma das prováveis causas dessa mensagem de erro é falta de instanciação do parâmetro "FROM"

 

$mail->From = 'endereco@email.valido';

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas tem o.O e eh meu email que eu uso a anos praticamente todos os dias.

 

mas vo manda o bloco php intero pra da uma olhada

 

<?php
include "phpMailer/class.phpmailer.php";
$mail = New PHPMailer();
//$mail-> ErrorInfo;
//exit;
$mail->IsSMTP = true;
//$mail-> ErrorInfo;
//exit;
$mail->SMTPSecure = "ssl";
//$mail-> ErrorInfo;
//exit;
$mail->Host = "smtp.gmail.com";
//$mail-> ErrorInfo;
//exit;
$mail->Port = 465;
//$mail-> ErrorInfo;
//exit;
$mail->Username = "rezer13@gmail.com";
$mail->Password = "********";
//$mail-> ErrorInfo;
//exit;
$mail->From = "rezer13@gmail.com";
$mail->FromName = "Will";
//$mail-> ErrorInfo;
//exit;
$mail->Subject = "Teste de Envio";
$html = "FUNFO POHA !";
$text = "FUNFA ! ";
$mail->Body = $html;
$mail->AltBody = $texto;
//$mail-> ErrorInfo;
//exit;
$mail->AddAddress("willian@wnl.com.br","Will");
//$mail-> ErrorInfo;
//exit;
if (!$mail->Send()){
echo "Erro DNOVO !".$mail->ErrorInfo;
} else {
echo "ALELUIA DEU CERTO !";
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro também pode estar relacionado com o arquivo de idioma

 

faça a setagem manualmente do idioma "language file"

 

 

$mail->SetLanguage("br", "/optional/path/to/language/directory/");

Compartilhar este post


Link para o post
Compartilhar em outros sites

^^ nao resolveu muito mas pelomenos agora os erros aparecem em portugues ^^ ... aa dai por via das duvidas habilitei tambem no php.ini uma dll la que tinha smtp no nome ... acho que era at smtp.dll ...

 

OBS: se eu tiro $mail->AddAddress ele dis que pelomenos tem que ter um remetente ... impresao ou ele tah ignorando o $mail->From ?

PS: ia se legal se consequimos fazer funciona, da uma comentada no script e passa esse topico pra sessao de tutoriais ... com as imformações apresentadas aqui da pra tira varias possiveis duvidas ou erros. mas eh so uma sugestao ^^ xP

 

 

Não foi possível instanciar a função mail.

<?php
include "phpMailer/class.phpmailer.php";
$mail = New PHPMailer();
$mail->IsSMTP = true;
$mail->SMTPSecure = "ssl";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;
$mail->Username = "rezer13@gmail.com";
$mail->Password = "$senha";
$mail->From = "sipmann@gmail.com";
$mail->FromName = "Pato";
$mail->SetLanguage("br", "phpMailer\language\\");
$mail->Subject = "Teste de Envio";
$html = "<strong>FUNFO POHA !</strong>";
$text = "FUNFA ! ";
$mail->Body = $html;
$mail->AltBody = $texto;
$mail->AddAddress("willian@wnl.com.br","Will");
if (!$mail->Send()){
echo "Erro DNOVO !".$mail->ErrorInfo;
} else {
echo "ALELUIA DEU CERTO !";
}
?>

valwww galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

por via das dúividas,

 

fiz download da ultima versao e executei.

 

não ocorreu problema nenhum.

 

 

 

<?php
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();   

/*								   // set mailer to use SMTP
// aqui o primeiro testem usando um servidor pop japones
$mail->Host = "smtp02.odn.ne.jp";  // specify main and backup server
$mail->Port = 587;
$mail->SMTPAuth = true;	 // turn on SMTP authentication
$mail->Username = "***";  // SMTP username
$mail->Password = "***"; // SMTP password
*/

// aqui o segundo teste, uasndo servidor pop internacional gmail
$mail->Host = "pop.gmail.com";  // specify main and backup server
$mail->Port = 465;
$mail->SMTPAuth = true;	 // turn on SMTP authentication
$mail->SMTPSecure = "ssl";
$mail->Username = "***";  // SMTP username
$mail->Password = "***"; // SMTP password


$mail->From = "**@gmail.com";
$mail->FromName = "Meu nome";
$mail->AddAddress("info@meu.site", "nome qualquer");
$mail->AddReplyTo($mail->From, $mail->FromName);

$mail->WordWrap = 50;								 // set word wrap to 50 characters
$mail->IsHTML(true);								  // set email format to HTML

$mail->Subject = "Here is the subject";
$mail->Body	= "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";
?>

 

obs: também pensei que o erro no seu caso poderia ser falta do php_smtp, mas verifiquei aqui, no meu pc nao está habilitado e mesmo assim enviou sem problemas

 

certifique-se de que está com todos os arquivos do phpmailer devidamente instalados.

 

apenas opr curiosidade,

o que retorna

 

tmp.php

<?php
echo ini_get( 'include_path' );
?>

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hinom-man... eu segui o teu último script, mas deu o mesmo erro que anteriormente...

 

Message could not be sent. Mailer Error: SMTP Error: Could not connect to SMTP host.

e...

 

colocando o comando que tu mostrou.... ele me retornou isso:

 

 

Comando

 

 

 

 

<?php
require("class.phpmailer.php");
echo ini_get( 'include_path' );

?>

 

Retorno:

 

.;C:\php5\pear

 

 

 

» O que isso quer dizer... tem algo errado?

Na configuração desse script, se eu configuro para o gmail... ele ainda carrega algo... mas demora tanto que da o erro de "FAST CGI"... mas se eu configuro para o yahoo ele dá o erro que citei mais acima (naum encontra o servidor)..=/

 

o script do yahoo eh esse:

$mail->Host = "smtp.mail.yahoo.com.br";  // specify main and backup server
$mail->Port = 587;
$mail->SMTPAuth = true;	 // turn on SMTP authentication
$mail->SMTPSecure = "ssl";
$mail->Username = "meuUser";  // Usuário SMTP do GMail
$mail->Password = "minhaSenha"; // Senha do usuário SMTP do GMail

no do gmail:

$mail->Host = "smtp.gmail.com";  // specify main and backup server
$mail->Port = 587;
$mail->SMTPAuth = true;	 // turn on SMTP authentication
$mail->SMTPSecure = "tls";
$mail->Username = "meuEmail";  // Usuário SMTP do GMail
$mail->Password = "mihaSenha";

Usei a configuração para pop, mas dá o mesmo erro do yahoo!!! =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

retorno

.;C:\xampp\php\pear\

[quote]Could not connect to SMTP host.[/quote]

<?php
require("phpMailer/class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  

/*								   // set mailer to use SMTP
// aqui o primeiro testem usando um servidor pop japones
$mail->Host = "smtp02.odn.ne.jp";  // specify main and backup server
$mail->Port = 587;
$mail->SMTPAuth = true;	 // turn on SMTP authentication
$mail->Username = "***";  // SMTP username
$mail->Password = "***"; // SMTP password
*/

// aqui o segundo teste, uasndo servidor pop internacional gmail
$mail->Host = "pop.gmail.com";  // specify main and backup server
$mail->Port = 465;
$mail->SMTPAuth = true;	 // turn on SMTP authentication
$mail->SMTPSecure = "ssl";
$mail->Username = "testandonewsletter@gmail.com";  // SMTP username
$mail->Password = "imasters10"; // SMTP password


$mail->From = "rezer13@gmail.com";
$mail->FromName = "Will";
$mail->AddAddress("will@wnl.com", "Will");
$mail->AddReplyTo($mail->From, $mail->FromName);

$mail->WordWrap = 50;								 // set word wrap to 50 characters
$mail->IsHTML(true);								  // set email format to HTML

$mail->Subject = "Here is the subject";
$mail->Body	= "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
   echo "Message could not be sent. <p>";
   echo "Mailer Error: " . $mail->ErrorInfo;
   exit;
}

echo "Message has been sent";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei seguir outro post de outro lugar... e configurei apra o smtp da oi, que não necessita de autenticação... daí retorna esse erro:

 

Message could not be sent.

Mailer Error: SMTP Error: The following SMTP Error: Data not accepted. meuEmail@yahoo.com.br

 

Isso deve ser perseguição ¬¬

Compartilhar este post


Link para o post
Compartilhar em outros sites

erm... seguitnte: vi outro tuto, e o segui com o "restin" de esperança que eu tinha..... e aqui ATÉ QUE ENFIM, enviou para o meu gmail.... usando o smtp do yahoo...

 

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


$mail = new PHPMailer();
$mail->IsHTML(true); // envio como HTML se 'true'
$mail->WordWrap = 50; // Definição de quebra de linha
$mail->IsSMTP(); // send via SMTP
$mail->SMTPAuth = true; // 'true' para autenticação
$mail->Mailer = "smtp"; //Usando protocolo SMTP
$mail->Host = "smtp.mail.yahoo.com"; //seu servidor SMTP
$mail->Username = "seuusuarionoyahoo sem aroba";
$mail->Password = "senhadoyahoo"; // senha de SMTP
$mail->From = "seuusuarionoyahoo@yahoo.com.br";
$mail->FromName = "Seu Nome";

// caso queira que o reply seja enviado para outro lugar
$mail->AddReplyTo("emaildaempresa","empresa");

$mail->AddAddress("mail do destinatário","nome do destinatário");
$mail->Body = "corpo do email";
$mail->Subject = "Assunto do email";

if(!$mail->Send()){
	echo "A mensagem não foi enviada. <br />"; 
	echo "Erro: " . $mail->ErrorInfo;
} else {
   echo "Enviado com sucesso.";
}

O link do POST eh esse: http://battisti.wordpress.com/2007/02/09/p...conta-do-yahoo/

Compartilhar este post


Link para o post
Compartilhar em outros sites

( P3rukao ) Isso deve ser perseguição ¬¬

Warning: fsockopen() [function.fsockopen]: unable to connect to ssl://pop.gmail.com:465 (Unable to find the socket transport "ssl" - did you forget to enable it when you configured PHP?) in C:\xampp\htdocs\news\phpMailer\class.smtp.php on line 122

Message could not be sent.

 

Mailer Error: SMTP Error: Could not connect to SMTP host.

did you forget to enable it when you configured PHP? YES, ¬¬ extension=php_openssl.dll

Could not connect to SMTP host. << conecta ou apanha

isso eh perseguisao xP ... dexa eu encontra o servidor do gmail andando na rua ... qro v se nao conecta dai ..HASHAHSHa zuera xP

 

gmail 10 vs 0 will

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso eh perseguisao xP ... dexa eu encontra o servidor do gmail andando na rua ... qro v se nao conecta dai ..HASHAHSHa zuera xP

 

gmail 10 vs 0 will

hehe... pode crer.... Mas Will, tenta do jeito que eu falei... que num tá cum a bixiga ele num mandar naum >.<

 

aqui ele funcionou, intaum eh só pegar os arquivos do .zip, e criar uma pasta no seu server (local ou naum) jogar nele os seus arquivos do phpmailer... num tem como errar.. Imagem Postada

Compartilhar este post


Link para o post
Compartilhar em outros sites

will, seu openssl parece nao ter sido carregado

 

1. no ambiente de desenvolvimento, configure o php para exibir todas as mensagens e avisos de erro

no php.ini, ative:

 

display_startup_error

display_error

track_error

 

2. execute phpinfo() e procure ver se apareceu a tabela "OPENSSL"

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.