Email Autenticado com PHP5 – Classe PHPMailer
Olá, galera recentemente passei por um problemão com os sites de clientes, devido à troca de host que eu utilizava para hospedar os sites de meus clientes eu acabei me deparando com uma falha (minha) muito grande!
Eu utilizava um script para envio de email que não utilizava autenticação e após a troca de host para outro que apenas enviava email autenticado os clientes acabaram ficando 2 dias sem receber email e dei sorte em perceber pq o script retornava sucesso ao enviar. Então acabei tendo que mudar em todos os clientes, embora eu soubesse da importância de se enviar email utilizando a autenticação nunca tinha notado a necessidade. É de conhecimento que os email enviados sem autenticação podem ser reportados como SPAM, poxa pq eu não pensei nisso antes…. Mas valeu a necessidade que trouxe a experiência e agora compartilho com vocês! 😉
Utilizaremos a Classe PHPMailer – download (classe)
Algumas vantagens (existem dezenas):
* Você pode enviar email de sua aplicação local, isso mesmo, pode testar localmente, isso pq ele utilizará a autenticação no seu servidor smtp. Então se você não tem o servidor de email instalado na sua máquina poderá testar sem precisar subir os arquivos para o dominio!
* Envia Email em formato HTML ou TEXTO!
* Envia anexos de forma muito simples (imagens, zip, rar, etc…)
Que tal o velho e bom HTML ?
<html> <head> <title>contato</title> </head> <body> <form name="contato" id="contato" action="contato.php" method="post"> <input type="text" name="nome" id="nome"> <input type="text" name="email" id="email"> <textarea name="mensagem" id="mensagem"></textarea> <input type="submit" name="btn_enviar" id="btn_enviar" value="mandar bala"> </body> </html>
OK? um formulário super-ultra-power-rangers de simples não? mas servirá bem!
Olha o PHP ai !!! Salve-o como contato.php
Isso é tudo! Basta adaptarem às suas necessidades (outros campos, ajax, get …)
<? #inclui a classe PHPMAILER include("phpmailer/class.phpmailer.php"); #instancia o objeto $mail = new PHPMailer(); #enviar via SMTP $mail->IsSMTP(); #seu servidor smtp / dominio no meu caso "mail" mas pode mudar verifique o seu! $mail->Host = "smtp.SEUDOMINIO.com.br"; #habilita smtp autenticado $mail->SMTPAuth = true; #usuário deste servidor smtp. Aqui esta a solucao $mail->Username = "[email protected]"; $mail->Password = "123456"; // senha #email utilizado para o envio, pode ser o mesmo de username $mail->From = "[email protected]"; $mail->FromName = "NOME DE EXIBICAO"; #Enderecos que devem receber a mensagem $mail->AddAddress("[email protected]","Vendas"); $mail->AddAddress("[email protected]","Financeiro"); #wrap seta o tamanhdo do texto por linha $mail->WordWrap = 50; #anexando arquivos no email (supondo estar no mesmo diretorio) $mail->AddAttachment("arquivo.zip"); $mail->AddAttachment("foto.jpg"); $mail->IsHTML(true); //enviar em HTML #recebendo os dados do formulario if(isset($_POST['nome'])){ $nome = $_POST['nome']; $email = $_POST['email']; $mensagem = $_POST['mensagem']; #informando a quem devemos responder. o mail inserido no formulario $mail->AddReplyTo("$email","$nome"); #criando o codigo html para enviar no email, voce pode utilizar qualquer tag html $msg = "Contato Site"; $msg .= " Nome: $nomen"; $msg .= " E-mail: $emailn"; $msg .= " Mensagem: $mensagemn"; } $mail->Subject = "ASSUNTO DO EMAIL"; #adicionando o html no corpo do email $mail->Body = $msg; #enviando e retornando o status de envio if(!$mail->Send()) { echo "houve um erro ao enviar o email! erro: $mail->ErrorInfo"; #$mail->ErrorInfo informa onde ocorreu o erro, o uso opcional exit; } echo "Mensagem enviada ok"; ?>
Bem, acho que não tem tanto para explicar devido aos comentários no código, porém….
Como sempre (garoto bonzinho), estou à disposição para as eventuais dúvidas que surgirem.
Só uma dica, como eu não sei a senha dos emails dos clientes, claro, somente do cpanel, resolvi criar para todos uma conta de email (adicional) padrão para utilizar na autenticação do script.
Dúvido que você queira fazer o download de tudo já pronto, mas de toda forma está ai! 😉
download (exemplo)
Se sua versão do PHP for PHP 4, baixe o arquivo do link abaixo e substitua os do pacote padrão que disponibilizei por estes. Link http://clareslab.com.br/learn/mail/php4.rar
seu email é yahoo?
entre no email, clique em opções, Acesso POP e Redirecionamento, marque a opção Web e Acesso POP e clique em salvar. como abaixo:
ATENÇÃO!!!
ESSE CÓDIGO FOI ESCRITO PARA SER UTILIZADO NA VERSAO QUE DISPONIBILIZEI AQUI DO PHPMAILER
ATENTEM-SE À ISSO, TALVEZ NUMA VERSÃO DIFERENTE HAJA OUTROS PARÂMETROS À SER CONFIGURADOS OU OMITIDOS.
NO PHP.INI DESCOMENTE A LINHA EXTENSION=PHP_OPENSSL.DLL
CONFIRME COM SEU HOST O ENDEREÇO DO SERVIDOR SMTP
FAÇA TESTES LOCAIS E ON-LINE
IMPORTANTE:
ALGUMAS PESSOAS NÃO ESTÃO CONSEGUINDO ENVIAR O EMAIL DEVIDO À UM ERRO NO ENDEREÇO SMTP, NESTE CASO UTILIZE LOCALHOST NO LUGAR DO SMTP.DOMINIO.COM.BR. EX:
$mail->Host = “localhost”
Obs: No meu caso ocorria esse problema também.
Abraços,
Rafael Clares
Cara, adorei seu POST. Não tinha me tocado da importância de enviar um email autenticado, já que tenho problema com o recebimento dos emails por parte dos meus clientes, que muitos recebem como SPAM, devido à não-inteligência artificial dos servidores de email como Yahoo! Parabéns pelo POST cara! Um abraço!
salvou minha vida
Comigo está ocorrendo o seguinte erro: Language string failed to load: connect_host
O que pode ser?
Olá Luiz, existe algum dado incorreto, podem ser:
– email e senha
– servidor smtp – mais provável, verifique a linha $mail->Host e certifique-se de que o servidor está correto, o seu pode ser smtp.dominio.com! De toda forma, algum dado que você informou está incorreto.
Abraços
Bom dia!!
Você sabe como incluir no cabeçalho a informação Message-ID:
desde já, agradeço.
Olá xará, olha não há muito conteúdo na internet sobre Message-ID, mas posso lhe adiantar que você deverá setar a variável $hostname, se lhe ajudar segue ai o link com a informação.
http://www.bblog.com/apidoc/elementindex_PHPMailer.html
Se eu tiver alguma novidade publico aqui.
Abraços,
Estou usando o smtp do yahoo!
Erro:
houve um erro ao enviar o email!
Language string failed to load: from_failedrafaeldorazio
rafaeldorazio é o meu email e lembrando que no yahoo nao se deve colocar @yahoo.com.br no usuario!
Ola, verifique essas linhas abaixo e veja se o seu está igual.
$mail->SMTPAuth = true; // ‘true’ para autenticação
$mail->Mailer = “smtp”; //Usando protocolo SMTP
$mail->Host = “smtp.mail.yahoo.com.br”; //seu servidor SMTP
$mail->Username = “seuusuarionoyahoo sem aroba”;
$mail->Password = “senhadoyahoo”; // senha de SMTP
$mail->From = “[email protected]”;
Verifique também nas configurações do yahoo se seu e-mail está permitindo acesso pop3 e smtp.
abraços,
Essa linha não tem aqui no codigo!
$mail->Mailer = “smtp”; //Usando protocolo SMTP
Funcionou, enviou o email corretamente! Porem para aqueles que usam o yahoo ai vai algumas dicas:
1- Entre com seu usário e senha, depois la em cima do lado direito clique em Opções.
Agora abriu uma nova tela, vai no link Acesso POP e Redirecionamento que se localiza no lado direito.
Habilite Web e Acesso POP, para mais informações de como configurar a classe clique no link Configurações POP.
Este processo é de extrema importancia!
Rafael Clares, muito obrigado, dessa eu nao sabia que precisava liberar o serviço pop3 e smtp. Grato pela ajuda e pela função 🙂
Tive um problemão semelhante ao teu quando troquei de host, infelizmente fiquei sabendo dias depois da troca. Valeu pelo se Post isso vai resolver meu problema.
Muito bom o seu código, estou enfrentando o mesmo problema para enviar msg pelo yahoo, mas acredito que no meu caso seja o proxy barrando minhas mensagens. Parabéns pelo artigo.
BOa noite! Fiz o download do arquivo, troquei o srvidor smtp, os emails tudo como pedia… coloquei para onde deve ser enviado, eno entanto dá qd clico em enviar aparece numa outra página todo o código do arquivo ‘contato.php’. você pode me ajudar a solucionar esse problema? preciso urgente desse código para um site que estou fzendo, o mais próximo que cheguei foi o seu! muito obrigado, andrey!!
aguardo!
Ow Andrey, beleza ai?
Faça o seguinte, onde esta “<?” troque para “<?php”
depois me fale.
abraços,
botei agora num site q eu tenho, online tb nao deu certo :/
Andrey, me envie o arquivo em [email protected] e me passe o url desse seu site e te digo o que você está fazendo errado. Até logo
cara.. muito bom esse seu tuto… só que to meio desatualizado.. sou da época em que a função mail() do php era suficiente… agora to mô perdido com essa atualização SMTP… se vc pude me ajudar a entender um pouco, pq não consegui configurar esse código pra funcionar comigo.. vlws!
Olá Marcos, na verdade a função mail() é suficiente, o problema é que a cada dia que se passa os hosts estão deixando de utilizar o envio de email sem autenticação devido ao grande número de spam, uma vez que se pode informar qualquer email para envio através da função mail.
se tem alguma dúvida. por favor post aqui o código para analisarmos juntos ok. Ficará bem mais fácil. Abraços
Olá Rafael, configurei aqui os arquivos e está retornando o seguinte erro :
houve um erro ao enviar o email!
“smtp”Language string failed to load: mailer_not_supported
O que poderia ser?
Grato pela atenção! d;D
Olá Diego, pode colocar aqui o código da linha
$mail->Host
até a
$mail->FromName ?
Daí fica mais fácil, beleza…
abraços,
Gostaria de saber o seguinte como e que eu faça para a html que eu fiz e com o stylo que eu coloquei, pois coloquei ele, o html esta indo mais o stylo nao esta indo.
Obs.: o stylo esta dentro de meu html.
Ola Joao Paulo, voce pode fazer o seguinte para imagens e estilos:
– hospede no seu host o estilo e as imagens
no HTML coloque a url completa ex.
<link type=”text/css” href=”http://meusite.com/css/estilo.css”>
e a mesma coisa para images
<img src=”http://meusite.com/images/topo.jpg”>
abracos
Amigo coloquei mas não esta dando certo, e sim enviando para o SPAM e quando eu tiro ele envia para a Caixa de Entrada mesmo…
o que mais eu tenho que mudar.
No restante esta tudo blz…
manda o codigo php que gera o html para [email protected] (retire sua senha) vou testar e te falo. ate logo
Colega, excelente dica! Agradeço muito pelo seu tempo dedicado a este artigo. Parabéns!
Olá Rafael, eu to com o mesmo problema do pessoal ai. tah dando um erro:
houve um erro ao enviar o email!
Language string failed to load: connect_host
gostaria de saber se soh é preciso mexer no arquivo contato.php?
como vc pode ver meu servidor de email é da yahoo..e quero mandar as informações do formulario pra esse email. já habilitei o pop e smtp no yahoo e nada ainda.
ajuda ai e me diz no q estou errando..abraçoss!!
Galera, é o seguinte… o grande problema é que ninguém retorna depois que passo uma possível solução…. não há nada errado no código e nem está faltando alterar mais nada…
Marquem a opção “web e acesso pop”.. façam exatamente assim:
1) Entre no email
2) Clique em opções
3) Clique em “Acesso POP e Redirecionamento”
4) Marque a opção “Web e Acesso POP”
5) Clique em salvar…
Pronto acabou o seu choro…
Testem com o email que criei.
usuario: [email protected]
senha : 123denovo
obs: Por favor, se alguém obtiver sucesso nos dê um retorno aqui nos comentários… pq eu já estou quase passando por mentiroso. Só o meu email do yahoo é ultra-power-master-dev-active para funcionar? ;(
Obrigado
Meu caro, não consigo usar smtp externo, tipo o gmail… tem alguma correção pra isso?
Frank, baixe o PHPMailer, no pacote existe o diretório “Examples”… Lá existe o exemplo para o Gmail.
link :
http://phpmailer.codeworxtech.com/index.php?pg=sf&p=dl
Opa, amigo…
Obrigado pela atenção…
O erro agora, é assim:
SMTP Error: Could not connect to SMTP host.
já liberei a porta de saída 465 no Firewall do servidor.
como eu uso o pacote da linguagem de erro, no português?
Frank, abra seu arquivo php.ini e descomente a linha extension=php_openssl.dll (retirando o “;”)
Abraços
Olá Rafael,seu tuto está dando certo comigo..tah perfeito, meu problema agora eh outro. O meu servidor de testes gratuitos é o awardspace, ele naum disponibiliza o envio de email SMTP usando PHP..o q faço agora?? tem alguma solução q naum precise trocar de servidor?? pois naum kero sair do awardspace por enquanto.
Gustavo, não entendi muito bem.
Se eles não aceitam o email autenticado, pq
você quer enviar utilizando esse método.
Talves seja o caso de você enviar sem autenticação. Veja em http://br.php.net/mail.
abraços
Olá!
Testei o script e funcionou corretamente c o SMTP do Yahoo (tenho conta).
Porém, não estou conseguindo enviar anexo quando ele vem por um formulário.
Você poderia me ajudar mostrando como receber o anexo por uma variável e onde informar o anexo?
Tentei o seguinte:
– No inicio do arquivo contato.php:
include(“phpmailer/class.phpmailer.php”);
//pega nome do arquivo
$anexo_name = $_FILES[“Anexo”][‘name’];
– Mais abaixo, na configuração do destinatário:
//Enderecos que devem ser enviadas as mensagens
$mail->AddAddress(“MEUEMAIL”,”Aline”);
//wrap seta o tamanhdo do texto por linha
$mail->WordWrap = 50;
//anexando arquivos no email
$mail->AddAttachment(“$anexo_name”); //aqui o nome da variável que recebe o nome do arquivo
$mail->IsHTML(true); //enviar em HTML
Lembrando que no lugar do email de destino coloquei o endereço correto. Aqui troquei por MEUEMAIL só pra exemplificar.
Só consigo mandar o anexo se ele estiver na mesma pasta do script, e colocar o nome dele ali na mao, tipo “arquivo.jpg”.
Será que preciso receber os outros parâmetros pelo método “FILE”?
Mas como organizaria?
Desde já agradeço!!!!!!!
Aline
Opa! Consegui resolver! rss
É só receber o arquivo usando “FILE[]”, mover para uma pasta, e depois informar o nome da imagem com o caminho correto em “$mail->AddAttachment(”pasta/nome_arquivo”)”
Deu certo! ;D
Olha meu erro e o seguinte estava dando erro com a porta no smtp do gmail dai eu troquei para a porte 587 parou de dar erro na porta e aparece o seguinte erro:
houve um erro ao enviar o email! erro: Language string failed to load: from_failed [email protected]
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = “smtp.gmail.com”;
$mail->SMTPAuth = true;
$mail->Mailer = “smtp”;
$mail->Username = “********”;
$mail->Password = “*******”;
$mail->From = “[email protected]”;
$mail->FromName = “Acharei”;
O que Pode estar dando errado ?
Caro Pedro, este problema já foi resolvido e a solução está nos comentários. grato
Caro Rafael, tenho tentado usar a classe phpmailer para gmail, yahoo entre outros, mas com quaisquer configurações me retorna o erro SMTP Error: Could not connect to SMTP host, bom troquei o server a pouco tempo tinha um linux e agora uso um windows dedicado.Não sei se interfere em alguma coisa para smtp, crio que não. obrigado tudo de bom
Olá Phillipe, essa dificuldade já foi tratada nesse mesmo post, vc leu os demais comentários?
abra seu arquivo php.ini e descomente a linha
extension=php_openssl.dll
abraços
Parabéns pelo Post salvou minha pele hehe…
Ola Rafael! Achei mt bom seu post e tentei utiliza-lo. Está havendo uma falha… Poderia dar uma olhadinha em http://www.centermusictaquara.com.br/manutencao2.php e envie o formulario…. Ta dando o seguinte erro:
Warning: fsockopen() [function.fsockopen]: unable to connect to mail.centermusictaquara.com.br:25 (Connection refused) in /home/centermu/public_html/class.smtp.php on line 105
houve um erro ao enviar o email! erro: Language string failed to load: connect_host
Como resolvo isso? Vlw, abraço e sucesso!
Opa Rafael! Primeiro parabens pelo post, ficou bom. Apesar disso estou tendo dificuldades. A mesagem q dá ao executar o script eh essa:
Warning: fsockopen() [function.fsockopen]: unable to connect to mail.centermusictaquara.com.br:25 (Connection refused) in /home/centermu/public_html/phpmailer/class.smtp.php on line 105
houve um erro ao enviar o email! erro: Language string failed to load: connect_host
Onde é esse erro? Brigadão!
Eugênio, obrigado pelo comentário.
Qual versão do PHPMailer está usando? Baixe a última versão. Outro ponto seria você verificar se o servidor está sob firewall ou proxy.
Esse erro também ocorre muito quando utilizado o PHP4, qual você está usando?
Boa tarde.
Rafael, fiz sim a alteração no php.ini/extension=php_openssl.dll, e esse problema infelizmente não foi solucionado. 🙁
Estou tentando de tudo, mas acho que tem alguma para configurar no server, pois faço o administração de remotamente.
Mesmo assim obrigado, caso tenha alguma dica 😀 pls estou realmente precisando.
Philipe, confirme se as portas que esta utilizando no PHPMailer sao as mesmas do seu servidor smtp. Outra coisa, verifique se não está sob um proxy. Abraços
O ruim é que a galera obtem sucesso na implementaçao do código não comenta, apenas colocam as dúvidas e somem omitindo a ajuda ao colegas. Essa é a parte chata de se postar.
Eu utilizo esse código em mais de 15 sites e todos funcionam, espero que o pessoal se conscientize quanto ao dar um retorno nos comentários para nos ajudar.
Se eu enviar e-mails dessa forma não existe aquela limitação de 300 por hora como os servidores tem?
Olá Cleiton, não sei se tem limitação, de toda forma, a intenção aqui não é criar um servidor de SPAM. Obrigado pelo comentário.
Olá Rafael!
Só passando para agradecer o artigo. Excelente e vai me ajudar demais.
Grande abraço, Deus abençoe sua vida.
Perfeito!
Parabéns cara.
(para os que não conseguiram, acho que basta prestar mais atenção na hora do setup, porque o code está perfeito).
Renan, obrigado pelo comentário eu também utilizo esse código em mais de 10 contas distintas e funciona bem rs.
Eae Rafa!!!
Parabén pelo artigo!!!
Abraços do amigo!!
Simples, objetivo e muito bem explicado!
Perfeito, parabéns Rafael 😀
Perfeito!
Muito bom mesmo! meus parabéns, esta foi a melhor solução que encontrei para meus problemas de envio de mail… obrigado!
Mas ainda estou em um empasse, não entendi muito bem como funciona para mandar anexo… seria possivel explicar mais detalhadamente como isso funciona??
Abraço
Ola Juno, você pode enviar arquivos em anexo mas no exemplo o arquivo já está definido, ou seja, no fonte do programa esta apenas mostrando o comando para envio de anexos e passando o nome do arquivo que será enviado, no caso de criar um formulário que permita o usuário enviar anexos você terá que criar o upload no formulário e já muda um pouco de figura pq você terá que tratar os arquivos enviados, ou seja, fazer verificações em relação a extensão e tamanho desses arquivos pq um usuário mal intencionado poderia enviar virus ou arquivos grandes que comprometesse seu servidor, de fato, esse é um outro assunto. A nao ser que você esteja enviando um arquivo pre-definido como logotipo no cabeçalho do email, arquivos de texto como manuais, enfim, algo que você sempre envia ou recebe através do seu formulário de email. Em outra oportunidade mostrarei como criar um formulário de email permitindo(e tratando) envio de anexos. Obrigado pelo comentário, abraços.
Prezado Rafael,
Estou passando por problemas semelhantes aos que voce já passou, porém não estou conseguindo resolver com o pessoal da locasite, será que voce poderia me ajudar.
se possivel, me mande um email que te passo meu telefone.
Muitisso Obrigado
Luiz Manuel O Gomes
Medei de host e este nescessita enviar e-mails autenticados. Dai meu site não envia e-mai nenhum, na area admin tem as opções de envio por mail () função e por sendmail. Testei seu iscript e enviou corretamente porem como vou mesclar o seu iscript no meu site tendo vista que ele é muito avançado e deve ter muitos formulários separados, vou ter que encontrar e editar um por um? Isso é quaze impossível. Não tem como autenticar o envio no site todo criando um arquivo ou um sistema que chame este código? S tem a opção de usar mail()função do PHP e sendmail deve ter uma forma de resolver isso. Se alguém souber resolver entre em contato comigo no email [email protected] por favor. Meu site é um site pronto e não tenho nem idéia de como fazer funcionar o envio autenticado.
É Luiz, você terá mesmo trabalho…como eu também tive e tentei dar-lhes uma direção nesse Post, você terá que trocar a função mai() por phpMailer em todos os formulários…A quantidade de trabalho irá depender do destino dos email, ou seja, se os emails são enviados do site para você (ex. contato) dai pode ser mais facil pq você não precisará formatar o conteúdo enviado podendo substituir as variáveis que recebem o POST por um foreach($_POST) assim você recupera todos os campos enviados do formulário e os envia. Mas se os emails são destinados aos usuários, então amigo, boa sorte na sua jornada. Caso tenha alguma dúvida coloque nos comentários e na medida do possível responderei. Abraços
Cara perfeito o script, parabens!
Agradeço muito pela dica, salvou não só meu dia mais o meu ano, pq sempre usava um q tinha aqui sem autenticação e sempre funcionava, mais corrigiram um erro do meu servidor ai parou de enviar.
Bom agora eh só eu mudar de todos os clientes q ta resolvido
Valeu mesmo!!!
Abraços
Muito bom meu caro!
Valeu!!
não esta chegando acentuações no meu e-mail cara.
você pode me ajuda.
código PHP
contato
IsSMTP();
// Seu servidor smtp
$mail->Host = “mail.recifetecnologia.com.br”;
// habilita smtp autenticado
$mail->SMTPAuth = true;
// usuário deste servidor smtp
$mail->Username = “[email protected]”;
$mail->Password = “xxxx”; // senha
//email utilizado para o envio
//pode ser o mesmo de username
$mail->From = “[email protected]”;
$mail->FromName = “FORMULÁRIO DE CONTATO DO SITE”;
//Enderecos que devem ser enviadas as mensagens
$mail->AddAddress(“[email protected]”,”DREYSON SANTIAGO”);
//wrap seta o tamanhdo do texto por linha
$mail->WordWrap = 50;
//anexando arquivos no email
$mail->AddAttachment(“anexo/arquivo.zip”);
$mail->AddAttachment(“imagem/foto.jpg”);
$mail->IsHTML(true); //enviar em HTML
header(“Content-Type: text/html; charset=ISO-8859-1”, true);
// recebendo os dados od formulario
if(isset($_POST[‘nome’]) && isset($_POST[‘email’]) && isset($_POST[‘tel’]) && isset($_POST[‘mensagem’])){
$nome = ucwords($_POST[‘nome’]);
$email = $_POST[‘email’];
$tel = $_POST[‘tel’];
$mensagem = $_POST[‘mensagem’];
// informando a quem devemos responder
//ou seja para o mail inserido no formulario
$mail->AddReplyTo(“$email”,”$nome”);
//criando o codigo html para enviar no email
//voce pode utilizar qualquer tag html ok
$msg = “”;
$msg .= “ Nome: $nomen”;
$msg .= “ E-mail: $emailn”;
$msg .= “ TEL: $teln”;
$msg .= “ Mensagem: $mensagemn”;
}
$mail->Subject = “CONTATO DO SITE”;
//adicionando o html no corpo do email
$mail->Body = $msg;
//enviando e retornando o status de envio
if(!$mail->Send())
{
echo “houve um erro ao enviar o email! “.$mail->ErrorInfo;
//$mail->ErrorInfo informa onde ocorreu o erro
exit;
}
?>
Dreyson, o ideal seria você me dizer como está chegando!
Está chegando todas as letras porém sem acentos?
Está faltando letras ? Caracters estranhos ?
Tente algum desses:
$mensagem = htmlentities($mensagem);
ou
$mensagem = utf8_decode($mensagem);
Daí você me diz o que ocorre.
Abraços
Rafael o erro é esse. Toda vez que eu coloco as acentuações chega em meu e-mail assim.
texto da página de contato
éãêç
quando chega ao e-mail
éãêç
andei dando uma pesquisada em muitos sites e em alguns diz o seguinte. Que eu tenho que ver o código do PHP – header(“Content-Type: text/html; charset=ISO-8859-1”, true);
e olhar o código do HTML, que são as <meta
no meu código esta assim.
para ver se estão iguais, mas estão sim.
Forte abraço cara!!!!
Desculpe tá postando várias perguntas, mas estão acontecendo. Quando envio o e-mail na página de contato demora que só, de vez enquando ele envia tem outras vezes que não envia. o erro é o seguinte Language string failed to load: data_not_accepted mostra esse erro você sabe como posso tá resolvendo?
obrigado pela atenção.
$PHPMAILER_LANG[“data_not_accepted”] = ‘Erro de SMTP: Dados não aceitos.’;
Dreyson, já baixou a última versão do PHPMailer?
Nunca vi esse erro, dê uma olhada nos docs do phpmailer, me mande os arquivos (compactados).
[email protected] (o email é para mandar os arquivos ou trocar idéias, para dúvidas post no blog, assim ajudamos outras pessoas com mesmo problema)
abraços,
Rafael, eu utilizo este mesmo script, só que agora na Locaweb os cara colocaram uma regra que eu tenho que autenticar, guardar isso na session e enviar depois de 17 segundos. Como guardo esta informação da autenticação da session?
Obrigado!
Bruno, na verdade você não precisa guardar a informação na session e sim autenticar mantendo uma sessão.
Basta iniciar o script com …
session_start();
autenticacao
envia email
so enviar email novamente se a sessao tiver mais de 17 segundos.
Crie um novo arquivo php e teste o seguinte bloco de comandos.
O metodo sleep(seconds) aguarda a quantidade de segundos passados no paramentro antes se executar a proxima linha de comando.
Se precisar armazenar o inicio do script em uma session faça – $_SESSION[‘inicio’] = date(‘s’);
abs
Poxa Rafael tentei o que você falou.
Iniciei a session, coloquei sleep(20) depois da parte de autenticação e logo antes dométodo que envia (->send()), mas nada. Isso em script de teste enviando apenas um email!
Pow cara, acho que tem coisa errada no seu script, você está utilizando com autenticação como no exemplo do PHPMailler?
Qualquer coisa, cria uma conta de email de teste, me mande os dados da conta e o script compactado para [email protected] para eu ver se consigo te ajudar…flw
Brunao, já viu se a extensão extension=php_openssl.dll esta descomentada no php.ini ?
Verifique a linha
extension=php_openssl.dll se estiver ;extension=php_openssl.dll descomete-a tirando o ; (ponto e virgula) da frente da linha.
até logo,
Rafael,
O envio de mensagem está funcionando perfeitamente, inclusive do meu localhost. Porém se anexo arquivos $mail->AddAttachment() dá a seguinte mensagem, no arquivo class.phpmailer.php:
Deprecated: Function set_magic_quotes_runtime() is deprecated in E:EasyPHP5.3.0wwwmailphpmailerclass.phpmailer.php on line 1091
Deprecated: Function set_magic_quotes_runtime() is deprecated in E:EasyPHP5.3.0wwwmailphpmailerclass.phpmailer.php on line 1095
Você teve algum problema semelhante?
Olá r4webb, não aconteceu esse erro comigo, já tentou passar o endereço absoluto do arquivo?
Ex:
$file = “E:\dirarquivo.zip”;
$mail->AddAttachment($file);
Rafael, muito bom; eu agradeço pela ajuda, tanto por email, quando por seus arquivos e ensinamentos;
funcionou certinho;
só precisei alterar o meu smtp de mail.miltonsalles.com para localhost (MESMO PUBLICADO) que funcionou….
Muito obrigado…
Fiz as configurações q estão descritas, tentei com smtp do yahoo,do localhost, ophp.ini tá certinho, com o php_openssl.dll liberado… mas olha o erro:
Warning: Failed opening ‘class.smtp.php’ for inclusion (include_path=”) in c:apachehtdocsteste_emailphpmailerclass.phpmailer.php on line 460
Fatal error: Cannot instantiate non-existent class: smtp in c:apachehtdocsteste_emailphpmailerclass.phpmailer.php on line 527
Alguém pode me ajudar? Desde já agradeço e parabéns Rafael pela disposição!!
Eduardo, o problema é que o programa não está encontrando o arquivo class.smtp.php no caminho informado.
Verifique no diretório PHPMailer se o arquivo class.smtp.php existe. O mesmo está no pacote do download.
Outra coisa, verifique e me diga qual a versão do PHP que está utilizando.
Qualquer coisa me diga ok…
abs
Opa.. rss, postei duas mensagens.. desconsidere a outra rss.
Bem, estou com os arquivos nomsmo diretório sim, do jeito q baixei.
A versão do meu php é 4.1.1
…
Abraços
Então Eduardo, o problema está na sua versão do PHP.
Baixe esse arquivo e substitua pelos que você tem aí.
http://clareslab.com.br/learn/mail/php4.rar
Abraços
Olá!
Fiz conforme as orientações, mas dá o seguinte erro:
Warning: Failed opening ‘class.smtp.php’ for inclusion (include_path=”) in c:apachehtdocsteste_emailphpmailerclass.phpmailer.php on line 460
Fatal error: Cannot instantiate non-existent class: smtp in c:apachehtdocsteste_emailphpmailerclass.phpmailer.php on line 527
Alguém pode me ajudar?
Abraços!
Cara adorei esse script muito bom. Vlw msm ! Faz uma semana que eu to procurando isso vlw !
Valeu pelo post
Serviu como consulta para mim
Boa Solução parabens, funcionou mesmo bem 😉
Cumps
Amigo estou usando o phpmailer em um sistema de newsletter que criei os email chegao ao destino só que no gmail não chega os dados do post so vai o html que criei
Emanuel, estranho chegar o html e não os dados do POST, será que você não criou nenhuma condição onde não está pegando o POST ?
Me mostra ai o trecho do código.
abraços
Valew Brother Post Perfeito
Rafael, coloquei meu email e a senha dele no script, mas está chegando no lixo eletrônico..tem ideia pq?
Abs
Diogo, testou mais de um email ?
testei sim, mais de um email e em dois servidores =//
Cara teu IP deve estar em black-list. Testei aqui tranquilo. Dê uma conferida com seu host, verifique o SPAM ASSASSIN, etc… abs
Funcionou aqui Rafael.
Valeu a atenção!
Tem outro tutorial muito bom sobre isso, e numa versão mais recente do phpmaileir:
Usando o Smtp do Google com o PHPMailer
Muito obrigado pelo código! Funcionou perfeitamente!
Valeu Rafael.
Funcionou perfeito.
Abraços!!!
Rafael, boa noite,
Desculpa novamente perguntar algo que parece ter sido resolvido, porém preciso muito da sua ajuda.
Houve um erro ao enviar o email!
Language string failed to load: [email protected]
$mail->Host = “smtp.mail.hotmail.com”;
// habilita smtp autenticado
$mail->SMTPAuth = true;
// usuário deste servidor smtp
$mail->Mailer = “smtp”;
//Usando protocolo SMTP
$mail->Username = “milenefm”; // Aqui seria sem o @? Utilizo o Hotmail.
// e-mail sem o arroba
$mail->Password = “*********************”;
// senha
//email utilizado para o envio
//pode ser o mesmo de username
$mail->From = “[email protected]”;
Muito Obrigada,
Abraços,
Milene
Milene, você já configurou a conta do hotmail para aceitar a utilização SMTP ?
Veja nas configurações do hotmail, no geral é preciso dar permissão para essa utilização, além disso você precisa saber a porta que é utilizada, a porta do hotmail não é a padrão.
Após a linha:
$mail->Host = “smtp.mail.hotmail.com”;
Adicione:
$mail->Port = numeroDaPortaSMTPdoHotmail;
até logo
por favor me ajude altentica esta para mim so recebo email se o email que a pessoa colocar no site for da uol de outros nao chega valeussss
Nil, tem que seguir o tutorial!
rafael nao deu certo nao meu form com esse php ai tu nao consegue altenticar o meu php ?
vo te passa o codigo blx
Nil, leia os comentários, tem muitas resoluções de problemas nele! Estou sem tempo para avaliar códigos!
Cara, queria te parabenizar pelo post, a web é realmente uma grande fonte
de informações, mas a maioria delas são ineficaz.
Andei procurando como enviar e-mail com php e autenticado, já tentei varios recursos
que busquei na web, porem nenhum funcionou!
Sempre que testava o script ficava olhando minha caixa de entrada na expectativa de
ver a mensagem nela, mais nada acontecia. Por fim, quase desistindo, achei seu bendito tutorial
no google, teste, e funcionou direitinho!!!
Valeu, parabéns mesmo!
abraços…
Juninho
Valeu Walter, sucesso para você. Abraços
Parabéns pelo post, para mim funcionou perfeitamente… estou agora penando para fazer upload com jquery e php…. em um formulário que eu possa colocar até 20 fotos… se tiver algo para me dar uma luz,,,, seria muito legal
Ótimo post! da pra fazer exatamente tudo!
Muito obrigado!
Obrigado cara, testei aqui e funcionou direitinho ^^
Desculpe a pergunta de principiante, entendo muito pouco. O formulário do meu site estava com esse problema de não enviar, então refiz ele pelo seu método e deu certinho!!
Mas gostaria de incluir uma página “sucesso.html” caso o formulário foi enviado, ou “erro.html” caso der algum erro, em vez de utilizar a forma que vc colocou no php abaixo:
#enviando e retornando o status de envio
47 if(!$mail->Send())
48 {
49 echo “houve um erro ao enviar o email! erro: $mail->ErrorInfo”;
50 #$mail->ErrorInfo informa onde ocorreu o erro, o uso opcional
51 exit;
52 }
53 echo “Mensagem enviada ok”;
54 ?>
Como faço isso?
Muito grato desde já
if(!$mail->Send())
{
header(‘Location: erro.html’);
}
else
{
header(‘Location: sucesso.html’);
}
Muitíssimo obrigado! Esse código funcionou perfeito. Obrigado novamente pelo post e pela ajuda! Saudações
Valeu Osmar, qualquer coisa dá um grito! abs
apresentou um erro (você sabe como posso solucionar o mesmo?) grato!:
houve um erro ao enviar o email! erro: The following From address failed: [email protected]
O endereço de destino está incorreto, verifique se está passando o endereço corretamente sem esse trecho “mailto” que está aí no comentário.
Aê Rafael, consegui fazer a autenticação utilizando o Gmail (smtp.gmail.com) e o Hotmail (smtp.live.com). Não deu erro algum no script. Porém os e-mails enviados para o Hotmail vão direto para o spam, mesmo quando autentico pelo próprio Hotmail. Tem ideia de o porquê isso acontece?
Ahh, detalhe … meu domínio e meu IP são “limpos” … nunca utilizei eles pra spam e já me certifiquei que eles não estão nas blacklists … ou seja, não teria motivo para ir ao spam. Inclusive o email enviado de teste é um texto puro.
Fala Thiago, desculpa a demora pra responder. Velho não tenho ideia do que pode ser, estranho isso eu nunca vi. Veja se não é o nome que está usando ao setar o FromName=”Thiago….”, não sei, talvez
estando diferente do original. Depois vou tentar simular isso. Abs
é… o hotmail ficou bem chato pra trabalhar com envio automático. Eu usava ele mais o yahoo para receber backups de banco de dados. Do nada o hotmail parou de receber. Nem ao menos avisou, alertou ou mandou para pasta de spam. Simplesmente começou a bloquear esse email. E estava na mesma situação descrita pelo colega: marcado como confiável. Isso está ocorrendo desde mais ou menos início deste mês(junho).
Abraços,
Eduardo Scopel
como que eu faço para enviar uma imagem por e-mail numa página em php ?
eu uso a função mail(), mas só consigo enviar texto ?
Cara, com a função mail não rola. Você pode enviar imagens com a função do PHPMailer descrito no post.
Faça o seguinte, baixe o PHPMailler e descompacte os fontes, dentro da pasta “examples” já tem um exemplo pronto para envio de imagens ou qualquer outro anexo, inclusive HTML. Zip, etc…
Segue o link http://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list
abs
Parabéns…Excelente dica. É sempre bom ver que existem pessoas que compartilham conhecimento. Muito obrigado.
Obrigado! Agora um pequeno detalhe, como impedir o reevio duplicado na página contato caso o usuário pressionar F5, pois é mandado váriso duplicados. Como criar uma regra para que os valores sejam resetados e preenchidos novmente?
Daniel, o correto é fazer um redirecionamento após o envio (com sucesso) do e-mail. Ex:
if( $mail->send() )
{
@header(‘Location: sucesso.php’);
}
Assim, o usuário é redirecionado a uma página diferente e mesmo que dê F5 não enviará novamente o form;.
Boa Tarde, Rafael! Sou autodidata e ainda tenho muito para aprender, se puder me ajudar…No site, tem o arquivo contato.xml que chama o contact.php, já fiz vários testes com diferentes scripts de formulários que já utilizei anteriormente e que deram certo, mas não estou conseguindo fazer funcionar, o que está errado? Abaixo os códigos:
CONTATO.XML
—————————————–
CONTACT.PHP
<?
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];
global $email;
mail ("[email protected]",
"Email: $email
Mensagem: $mensagem",
"From: $email");
echo "Sua mensagem foi enviada com sucesso!”;
echo “Em breve entraremos em contato.”;
?>
Igusson, você está rodando isso no seu computador, em um servidor remoto, como é?
Blz Rafael, primeiro parabéns pelo tuto, mais vamos lá, esse projeto que eu estou fazendo, ele é hospedado na Locaweb(particulamente não gossto) mais em fim, fiz as modificações necessárias e tal, mais ele exibe a seguinte mensagem.
PHP Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.r2editorial.com.br:25 (A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
) in E:homer2criacoeswebkiteducacionalphpmailerclass.smtp.php on line 105
Pode me ajudar a resolver, já tentei de tudo mais ainda nada. abs.
Fala Ricardo, cara quando você diz “tentei de tudo”, o que seria?
É bom comentar o que já fez para não perdermos tempo, assim evitamos que eu fale para fazer o que já fez.
Nesse caso, as possibilidades são:
– porta incorreta (as vezes alteram a padrão de 25 para uma outra, confirme com o host)
– endereço smtp incorreto (pode ser que seja mail.seusite.com.br ao invés de smtp.seusite.com.br)
– outra possibilidade é de login incorreto (usuário/email completo e senha)
RAfael clares
estou com um problema com um scrip em php que consegui com um colega a alguns anos e nunca tinha utilizado!! um belo dia resolvi para este script para um cliente, sou webdesign, e ele esta dando um erro que nao consigo entender nem resolver!! sera que poderia me ajudar!!! esta eh a mensagem que sta dando erro!! nao sou programador!!!
Developer Details:
E-mail nã foi enviado. Erro : Failed to connect to smtp.seudominio.com.br:25 [SMTP: Failed to connect socket: php_network_getaddresses: getaddrinfo failed: Name or service not known (code: -1, response: )]. (EMAIL_FAILED)
tNG Execution Trace – VIEW
tNG_update.executeTransaction
STARTER.Trigger_Default_Starter
tNG_update.doTransaction
BEFORE.Trigger_Default_saveData
tNG_update.saveData
BEFORE.Trigger_Default_FormValidation
BEFORE.Trigger_ForgotPasswordCheckEmail
tNG_update.prepareSQL
tNG_update.executeTransaction – execute sql
AFTER.Trigger_ForgotPassword_AddDynamicFields
AFTER.Trigger_ForgotPassword_Email*
ERROR.Trigger_ForgotPassword_RemoveDynamicFields
tNG_update.getRecordset
tNG_update.getFakeRsArr
tNG_update.getLocalRecordset
tNG_update.getFakeRecordset
valeu mesmo!!!
rsrs Cristiano, a mensagem está dizendo que não foi possível conectar em smtp.seudominio.com.br:25
Isso quer dizer que você deve substituir smtp.seudominio.com.br pelo endereço do seu site ex:
smtp.cristiano.com.br:25
Raphael
Vlw amigo!
Estava procurando na net e vim parar aqui.
Tudo mastigadinho ^^
Obrigado, mano!
estou com problema esta apresentando a seguinte mensagem:
houve um erro ao enviar o email!
Language string failed to load: from_failed [email protected]
,
mandei por email o cod para poder me auxilar, seu tópico ficou muito bom.
Willian, esse erro é genérico e ocorre nas seguintes situações:
– servidor smtp incorreto ( pode ser smtp.site.com.br e tbm pode ser mail.site.com.br), confirme com o host.
– Porta incorreta (pode ser 587 ou 25) confirme com o host
– usuário ou senha incorreta (usuario é o email completo)
– email inválido
Basta checar com calma cada dado e dará certo.
Yahoo:
$mail->SMTPSecure = ‘tsl’
Rafael, ótimo sua explicação, por favor me ajude. Estou tendo o mesmo problema seu.
Mudei meu serviço de hospedagem do provedor Locaweb para um provedor Hostinger.
Depois da mudança não estou conseguindo enviar meu formulario de contato que antes funcionava perfeitamente na Locaweb. Quando clico em enviar não acontece nada. Não da erro a pagina apenas sobe um pouco. Não sei se eles usam autenticação.
Eu ja fiz o upload dos arquivos do site para o novo provedor inclusive da classe phpmailer identico ao anterior que usava na locaweb. Como não mudei nada é logico que o erro é no arquivo envia.php que ainda não esta totalmente configurado ao novo provedor hostinger, ja que os formulários html tudo é padrão uso o mesmo em todos os sites e funcionava ok.
Abaixo eu mostro, o arquivo com as configurações sugeridas pelo novo provedor. E também o código do envia.php.
Caso tenha alguma linha que não estaja de acordo com os parametros do novo provedor favor sugerir qual mudança devo fazer.
Obs. A única mudança que fiz foi não colocar meu e-mail e senha do arquivo php por questão de privacidade, mas fora isto esta igual ao que enviei ao servidor.
Lembrando peguei este mesmo arquivo voltei na locaweb e so mudei o hoste usuario e senha e envio normal. So na hostinger esta dando zebra.
Configuração do novo provedor de hospedagem hostinger.
Endereço do Webmail____http://webmail.hostinger.com.br
Login de Usuario________E-mail do Usuário
Host POP3/IMAP________mx1.hostinger.com.br
Porta POP3____________110
Porta IMAP____________143
Host SMTP____________mx1.hostinger.com.br
Porta SMTP___________2525
Arquivo envia.php
IsSMTP();
$mailer->SMTPDebug = 1;
$mailer->Port = 2525; //Indica a porta de conexão para a saída de e-mails
$mailer->Host = ‘mx1.hostinger.com.br’; //smtp.dominio.com.br
$mailer->SMTPAuth = true; //define se haverá ou não autenticação no SMTP
$mailer->Username = ‘[email protected]’; //Informe o e-mai o completo
$mailer->Password = ‘minha senha’; //Senha da caixa postal
$mailer->FromName = ‘Contato do Site -X’; //Nome que será exibido para o destinatário
$mailer->From = ‘[email protected]’; //Obrigatório ser a mesma caixa postal indicada em “username”
$mailer->AddAddress(‘[email protected]’); //Destinatários
$mailer->AddReplyTo($emailusuario,$nomeusuario);
$mailer->Subject = $assunto;
$mailer->Body = $mensagem;
$mailer->Send();
if (!$mailer)
{
echo “Message was not sent”;
echo “Mailer Error: ” . $mailer->ErrorInfo; exit;
}
else
print “E-mail enviado!”
?>
Obrigado
Alvaro, alguns hosts só permitem se o TLS estiver ativado.
A última versão do phpmailer tem o TLS, faça o download no site deles e procure o exemplo com TLS, é o mesmo exemplo que usa a conta do google.
abs
Eu utilizei justamente com o TLS, mas não deu certo. Quando eu configuro para receber SMTP no servidor de email do hostinger, a mensagem de erro indica que não foi possível conectar. E quando configuro para receber no gmail, a mensagem de erro indica que não foi possível autenticar. Será que é alguma configuração no php.ini e no httpd.conf do hostinger?
Nilo, pode ser também a versão do PHPMailer, baixe a última versão e teste novamente.
Obs: existem alguns exemplos no pacote que disponibilizam, um deles é para o gmail.
Link:
https://github.com/PHPMailer/PHPMailer
Só clicar em “Download Zip” no lado direito do site;
Abraços
Ajudou demais amigo Rafael Clares
Grande blog ta de parabéns
a dica de colocar Localhost em vez de SMTP.DOMINIO.COM.BR
caiu igual uma luva
parabéns
vlw mesmo
Olá Rafael parabéns pelo post e acompanho há anos seu trabalho e de muita utilidade, se possível queria que você pudesse me ajudar tenho esse formulário já pronto com campos para anexo, só que é o seguinte, eu uso o sistema “UPLOADIFY” creio que vc já conhece envia anexo dinamicamente, meu formulário funciona perfeitamente ele envia os anexos para a pasta que esta em meu servidor usando a classe phpmailer corretamente só que estou tentando ver a função que ao mesmo tempo que ele envia os anexos para o servidor envia tbm para o email ao mesmo, sei que da pra fazer isso na função php mas estou com dificuldades se pudesse me ajudar agradeceria muito , obrigado…
Este link é do meu site http://www.jcimoveisbrasil.com/cadastrodeimoveis/index.php os 12 botões input type acima funciona e envia os anexos para o email mas eu queria usar um botão único com o uploadify…
Peter, obrigado pelo comentário e por acompanhar o blog. Fico feliz que algo tenha lhe servido.
Isso que você tem que fazer é no PHPMailer e não no uploadfy. Tem uma opção de anexar arquivos (algo como $mail->attach(“arquivo”), não lembro, mas tem).
Então, você precisa fazer é passar o nome do arquivo que acabou de subir para o método de anexar do phpmailer.
Você precisa ler as docs do PHPMailer;
Preciso de um Help Rafael, teria como enviar anexos para o email pelo “uploadify” eu já instalei no meu form ele envia certinho os arquivos para a pasta no servidor de nome “uploads” só que queria que enviasse tbm para o email há possibilildade disso ?
Olá Peter, cara melhor você dar uma olhada nas 2 docs, não ? Veja as docs do uploadFy (aproveite e use a última versão dos 2);
Olá Rafael desculpa por perguntar 2 vezes mas já consegui resolver vc me dando uma dicas e eu como sou marrento e brasileiro não desisto nunca rsrs, consegui fazer um formulário conforme minhas necessidades e como você disse em um comentário acima muitas pessoas vêm aqui pedem muito desesperadamente uma ajuda e quando consegue o que quer some e não compartilha os seus erros e correções que podem ser o mesmo problema de muitos, mas quero fazer a diferença e deixar aqui um script de formulário com upload de fotos pronto pra usar se me der a liberdade de postar aqui ok…
Rafael é sempre bom um profissional que sabe compartilhar seus conhecimentos assim como você isso sempre será recompensado, forte abraço parceiro.
Segue abaixo o link do script que deixei pronto no Pastebin
http://pastebin.com/py7ErJYM
Olá Rafael, obrigado por compartilhar seu conhecimento…eu usava mail mas não era 100% eficaz depois de sua dica para phpmailer melhorou muito 🙂
Bom tenho duas dúvidas pra perguntar se voçê puder me ajudar tbm:
*Primeira: reparei que os e-mails são enviados mas o ultimo sempre fica retido ou seja, não é enviado ao meu e-mail de destino até que um novo seja enviado…sabes o q podes ser??? Não creio que seja config do server pois se eu enviar por exemplo 7 e-mails seguidos ele manda os 6 primeiros em ordem e rápido más retém o ultimo.
*Segunda: é possível mandar um e-mail com cabeçalho corpo e rodapé com esta classe??? Tipo anexar minha logo entre outras??
Desde já grato.
Lauro, é bom atualizar os fontes do phpMailer, baixe a última versão no site deles e tem diversos exemplos com anexos, html, etc…
http://phpmailer.worxware.com/
abs
Parabens Rafael no meu funcionou perfeitamente só mudei a porta para o smtp do uol rodou que foi uma maravilha agora é bater cabeça para enviar anexo
Muito obrigado e parabens pelo blog
gostaria de saber onde coloco este codigo pois o meu servidor requer autenticacao stmp
tipo vou realizar um cadastro de usuario e o mesmo recebe confirmacao no email para autenticacao onde as informacoes vao ao banco de dados mysql gostaria de como incluir esta parte onde autentica o email?
87-99627-8345 Whatsapp | e-mail: [email protected]