Enviar e-mails pelo PHP usando o PHPMailer - Jonathas
Jonathas Guerra	7 anos ago 12	35 K
O PHPMailer é uma classe pronta para envio de e-mails através do PHP via conexão SMTP ou POP3 muito utilizado por todo o mundo. Seu método de envio é largamente recomendado e é bem melhor do que o envio do mail() que á função padrão do PHP.
Primeiro você precisa fazer o download da última versão dele, vá nesse endereço e baixe a sua versão ou vá direto ao site do script.
Nota: Nesse tutorial usarei a versão 2.3 (download) do PHPMailer que é a última versão até agora.
Faça o download, descompacte o arquivo e coloque os arquivos class.phpmailer.php eclass.smtp.php em uma pasta chamada phpmailer dentro do seu site.
Agora, vamos ao script que faz o envio do e-mail:
$mail->Host = "smtp.dominio.net"; // Endereço do servidor SMTP
//$mail->SMTPAuth = true; // Usa autenticação SMTP? (opcional)
//$mail->Username = 'seumail@dominio.net'; // Usuário do servidor SMTP
//$mail->Password = 'senha'; // Senha do servidor SMTP
$mail->From = "seumail@dominio.net"; // Seu e-mail
$mail->AddAddress('fulano@dominio.com.br', 'Fulano da Silva');
$mail->AddAddress('ciclano@site.net');
//$mail->AddCC('ciclano@site.net', 'Ciclano'); // Copia
$mail->Body = "Este é o corpo da mensagem de teste, em <b>HTML</b>! <br /> :)";
//$mail->AddAttachment("c:/temp/documento.pdf", "novo_nome.pdf");  // Insere um anexo
Algumas linhas de código estão comentadas porque são opcionais e dependem também da necessidade de quem vai usar o script. Logo no começo, na parte dos dados do servidor você tem a opção de configurar o login do servidor SMTP caso seja necessário.
Repare que, na parte na qual definimos a mensagem e o assunto do e-mail, temos duas formas de "corpo de e-mail": formato HTML e formato Texto Plano… É bom que você também defina otexto plano (que nada mais é do que um texto sem as tags HTML parecido com o conteúdo de um arquivo .txt) por que muitos leitores de e-mail não têm suporte a e-mails em HTML (seja por configuração do usuário ou por falta de funcionalidade mesmo).
Deixei também um exemplo pronto de como anexar um arquivo ao seu e-mail. O caminho do arquivo (primeiro arquivo) está nos moldes de um servidor rodando localmente… Mas ele pode ser relativo se você estiver usando o script num servidor externo. O segundo argumento é o 'novo' nome do arquivo, mas é opcional.
TagsEmail Enviar Email php Via php
Boa tarde, não sei se ainda responde usuários do blog, mas aí vai a pergunta: como fazer para que este código acima que ensinou, envie até 5 anexos?
Obs: leve em conta que sou muito fraco em php (meu forte é front end).
Simples Eduardo, basta duplicar a linha:
$mail->AddAttachment("c:/temp/documento1.pdf", "novo_nome1.pdf");
$mail->AddAttachment("c:/temp/documento2.pdf", "novo_nome2.pdf");
21 de setembro de 2016 às 02:30
A minha dúvida é mais hard:
Tenho um formulário que o cliente preenche, com essas informações crio duas mensagens.
Fiz uma programação e me deparei com um problema.
Quero que o conteúdo de uma mensagem vá para um destinatário.
E o outro conteúdo da segunda mensagem vá para o cliente.
21 de setembro de 2016 às 02:41
A solução é bem simples, faz o procedimento duas vezes, muda o nome da variável ex: $mail2 = new PHPMailer();…
Vlw Jonathas, fiz alguns testes e deu certinho, vai de uma forma pra empresa e pro cliente vai de outra forma os e-mails.
Que bom Jean =)
27 de dezembro de 2016 às 13:12
Teu post me tirou muitas duvidas.
Que bom Otto =)
Boa noite, da para o from do email ser diferente ao que está sendo autenticado?
26 de março de 2017 às 16:24
Funcionou, mas não sei como não mostrar dados do envio da mensagem. Sempre que utilizo ela, um monte de mensagens da autenticação retornam antes da minha mensagem customizada de Mensagem enviada com sucesso. Como fazer com que essas outras mensagens não sejam mostradas ???
Tiago Pimentta disse:
Jonatas, em uma estrutura em MVC POO como isso é utilizado? Eu to meio perdido aqui de onde devo colocar a pasta class.phpmailer.php e onde eu jogo o código que você colocou ai.