Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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();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 ^^
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;
}Mostra seu arquivo de email!
...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
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.. =/
» ???? «
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
Will,
uma das prováveis causas dessa mensagem de erro é falta de instanciação do parâmetro "FROM"
$mail->From = 'endereco@email.valido';
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 !";
}
?>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/");
^^ 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 galerapor 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' );
?>
?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!!! =/
retorno
.;C:\xampp\php\pear\
Could not connect to SMTP host.
<?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";
?>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 ¬¬
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; echo "Enviado com sucesso.";
}( 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
>
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.. /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/wink.gif&key=0566fd943552bcff9cb1b879403ca34b5ff8f67befaac7fe4648006e9f764689" alt="Imagem Postada" />
/applications/core/interface/imageproxy/imageproxy.php?img=http://img528.imageshack.us/img528/8476/imagem4.png&key=b4384b9689f51733a2713f086ca836efa80d2eaf655964261df5b06b22e0a3ba" alt="Imagem Postada" />
/applications/core/interface/imageproxy/imageproxy.php?img=http://img528.imageshack.us/img528/6145/imagem2x.png&key=755522e3307175c16dc62903b895f9c09b7b2fece01051972cbe0ade63573e38" alt="Imagem Postada" />
/applications/core/interface/imageproxy/imageproxy.php?img=http://img528.imageshack.us/img528/4277/imagemo.png&key=911131f713b5d4f0f2ea5e7698d5080515addf8a213c7ea0c7353321c4d15824" alt="Imagem Postada" />
/applications/core/interface/imageproxy/imageproxy.php?img=http://img123.imageshack.us/img123/6268/imagem3.png&key=2c2c6fdd918f66c6f2427f0cb80e0d2516a256ad3c316a50a0b8bb086dbf39fe" alt="Imagem Postada" />
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"
himon so apareceu aqui
>
SERVER_SIGNATURE <address>Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8 Server at localhost Port 80</address>
SERVER_SOFTWARE Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8
P3rukao usei o teu
$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";
e apareceu isso
Warning: stream_socket_enable_crypto() [streams.crypto]: this stream does not support SSL/crypto in C:\xampp\htdocs\news\phpMailer\class.smtp.php on line 194
com certeza o seu php está sem o openssl
verifique se "extension_dir" está correto e se possui a lib "php_openssl.dll"
ative todas as mensagens de erro report como citei no post acima
ps: tanto faz usar pop ou smtp
na verdade quem autentica é o pop
Will, aquele lance da perseguição continua... xD
Eu só consegui usar o PHPMailer com os dados de acesso do yahoo, com o Gmail, num vai nem a paw... só diz que não reconhece o host... e eu já tentei uma ruma de hosts, portas, e um bucado de outras linhas de configuração pra ele... "mas Neinm"!!!!
Eu nunca cheguei a usar o XAMPP, só o easyPHP e o server2GO, e eles sempre davam algumas broncas em algumas "determinadas" aplicações...
Eu eskeci o link do tuto... mas te recomendo instalar o APACHE, PHP, e tudo mais, na mão mesmo... e completo... daí se tiver algum erro na sua aplicação... devido a falta de configuração do server.... o erro eh do burro que instalou.. :assobiando: rssrsrs
Mas na boa, os únicos erros que eu tenho aqui em casa são das minhas burrices na hora de programar.... o server tá beleza... e num demora muita coisa pra você conseguir instalar tbm naum....
Mas se for somente o caso das extensões e talz... tu baixa o pacote do php completo lah no site, e pega essas dll's.... pois o pacote vem completo...
Tá aí a dica /applications/core/interface/imageproxy/imageproxy.php?img=http://forum.imasters.com.br/public/style_emoticons/default/wink.gif&key=0566fd943552bcff9cb1b879403ca34b5ff8f67befaac7fe4648006e9f764689" alt="Imagem Postada" />
ja fiz isso quando habilitei ele no php.ini .. ele ta em C:\xampp\php\ext\php_openssl.dll ... e ja ativei as msg de erro ...
T-T
certificou-se de que a extensão foi carregada ?
habilitar a extensão é uma coisa
carregar a extensão é outra
sabe ler o resultado do phpinfo(); ?
executei o phpinfo(); e dei um ctrl + f ... e procurei por ssl ... teve dois resultados ... que mostrei no post acima... oque eles significam eu nao sei ...
>
SERVER_SIGNATURE <address>Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8 Server at localhost Port 80</address>
SERVER_SOFTWARE Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8
Topico Intereçante xP >> http://forum.imasters.com.br/index.php?showtopic=336249
Amigo basta voçê não incluir o arquivo ("class.smtp.php");
Pois ele é opcional.