PHPMailer: Como enviar email pelo PHP

phpmailer logoO PHPMailer é a biblioteca mais completa para enviar email com PHP. Atualmente, quase todos os provedores exigem autenticação de SMTP para realizar o envio de emails. Dessa forma, a tarefa de enviar emails usando o PHPMailer pelo PHP é bastante simples, bastando usar o código fonte de exemplo que iremos fornecer.

Este aplicativo possui total compatibilidade com SSL/TLS, bem como autenticação de SMTP. Trata-se de uma ferramenta bastante segura e atualizada. Provavelmente é o aplicativo mais usado para envio de emails pelo PHP.

Conteúdo:

BLACK FRIDAY

Download inicial e instalação

Primeiramente é necessário fazer o download da biblioteca PHPMail através do nosso site neste link. Você também pode ver detalhes sobre o PHPMailer no site oficial, pelo Github neste link. A versão que nós disponibilizamos possui o arquivo PHPMailerAutoload.php , que facilita muito a inclusao e uso dele.

Por exemplo, usaremos a seguinte estrutura:

  • /public_html/enviar.php  – Nome do nosso arquivo que irá enviar o email
  • /public_html/PHPMailer-master/    –  Pasta contendo a biblioteca PHPMailer

Dessa forma, você precisa colocar todo o conteúdo do aplicativo na pasta PHPMailer-master , dentro do public_html.

Exemplo de código em PHP para envio de emails usando o PHPMailer

Basta copiar este código em seu PHP, alterando os parametros indicados. Observe os comentários no código e altere os campos de acordo com seu servidor. Alguns campos são opcionais. Dessa forma, escrevemos em um comentário indicando a utilidade dele. Enviar email pelo PHP é uma tarefa bastante simples, para quem usa esta ferramenta.

Ainda não tem um www

Mensagens de erro comuns do PHPMailer e suas soluções

Algumas mensagens de erro são bastante frequentes ao enviar email pelo PHP. Para solucionar erros do PHPMailer, primeiramente, é necessário habilitar o debug. Basta remover o comentário (removendo as duas barras “//”), desta linha:

Dessa forma, a aplicação exibirá na tela todos os detalhes durante o envio do email. Por exemplo:

debug do phpmailer

Solucionando o erro SMTP connect() failed

Este erro pode ter várias causas. Com o debug habilitado, vamos enumerar cada possível motivo, bem como suas soluções.

SMTP ERROR: Failed to connect to server: php_network_getaddresses: getaddrinfo failed: Name or service not known (0)

Esta mensagem ocorre pois o hostname do servidor SMTP está incorreto. Verifique se digitou o endereço do SMTP corretamente. Tente também usar o endereço IP no lugar do hostname. Verifique também se o servidor DNS do seu domínio está configurado corretamente. Dessa forma, para solucionar o problema, você precisa corrigir a seguinte linha:

535 Incorrect authentication data

Ocorre devido a um erro no login e/ou na senha no PHPMailer. Verifique se sua conta de e-mail está criada no servidor. Caso não esteja, é necessário criar a conta de email. Verifique também se a senha do seu email está correta. Você também pode resetar a senha do seu email.

Em seguida, edite e faça a correção nestas linhas:

SMTP ERROR: Password command failed: 535 Incorrect authentication data

Significa que a senha está incorreta. Dessa forma, verifique se não digitou errado sua senha. Ainda, você pode resetar a senha do seu email. A correção precisa ser feita nesta linha:

SMTP ERROR: Failed to connect to server: Connection refused (111)

Este erro significa que o servidor SMTP recusou a conexão. A causa mais comum é um erro na porta SMTP. Recomendamos usar a porta 587 ao invés da 25. Você precisa alterar a porta nesta linha:

Outra possível causa para este erro é o fato de você não estar usando a autenticação TLS/SSL na conexão. Verifique se esta linha a seguir está presente em seu código. Ela habilita o uso de TLS/SSL para que seja realizada uma conexão segura.

 

 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

hhchat