Muito
se busca na
internet sobre como enviar emails através de seu servidor web local,
e muito se encontra a respeito, talvez nada completo, mas tem muito
material a respeito de emails através
de sua instalação local do PHP e Apache.
Mais
cedo estava lendo um comentário de um usuário do Sistema
Básico servidor local
e que chegassem corretamente em contas de email que utilizam
servidores do Hotmail, Gmail, Yahoo, etc... isso me levou a montar
esse simples tutorial ensinando
a enviar emails através de suas aplicações utilizando PHP e Apache
instalados localmente em conjunto com a classe PHPMailer e
o melhor de tudo, envio autenticado.
arquivo baixado
dentro do diretório raíz de seu servidor (DocumentRoot
que você definiu no seu Apache),
no meu caso é
E:\sites.
Crie
um arquivo php novo com o seguinte conteúdo:
<!DOCTYPE
html PUBLIC "-//W3C//DTD
XHTML 1.0 Transitional//EN"<head><meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"
/><title>Untitled
Document</title></head><body><?php/*Supondo
que o arquivo esteja dentro dodiretório
raíz e sub-diretório phpmailer/*/require
"phpmailer/class.phpmailer.php";
//
conteúdo da mensagem$mensagem
=
"Testando
o envio de email através de aplicações locais";//
Estrutura HTML da mensagem$msg
=
"<!DOCTYPE
HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">";$msg
.=
"<html>";$msg
.=
"<head></head>";$msg
.=
"<body
style=\"background-color:#fff;\" >";$msg
.=
"<strong>MENSAGEM:</strong><br
/><br />";$msg
.=
$mensagem;$msg
.=
"</body>";$msg
.=
"</html>";//
Abaixo começaremos a utilizar o PHPMailer.
/*Aqui
criamos uma nova instância da classe como $mail.Todas
as características, funções e métodos da classepoderão
ser acessados através da variável (objeto) $mail.*/$mail
=
new
PHPMailer();
//
//
Define o método de envio$mail->Mailer
= "smtp";//
Define que a mensagem poderá ter formatação HTML$mail->IsHTML(true);
//
//
Define que a codificação do conteúdo da mensagem será utf-8
$mail->CharSet
= "utf-8";
//
Define que os emails enviadas utilizarão SMTP Seguro tls
$mail->SMTPSecure
= "tls";
//
Define que o Host que enviará a mensagem é o Gmail
$mail->Host
= "smtp.gmail.com";
//Define
a porta utilizada pelo Gmail para o envio autenticado
$mail->Port
= "587";
//
Deine que a mensagem utiliza método de envio autenticado
$mail->SMTPAuth
= "true";
//
Define o usuário do gmail autenticado responsável pelo envio
$mail->Username
= "um-username-seu-no-gmail";
//
Define a senha deste usuário citado acima
$mail->Password
= "respectiva-senha-deste-username-acima";
//
Defina o email e o nome que aparecerá como remetente no cabeçalho
$mail->From
= "o-username@gmail.com";
$mail->FromName
= "seu-nome-por-exemplo";
//
Define o destinatário que receberá a mensagem
$mail->AddAddress("email-do-destinatário@provedor-de-email-do-destinatario");
/*
Define
o email que receberá resposta desta
mensagem,
quando o destinatário responder
*/
$mail->AddReplyTo("o-username@gmail.com",
$mail->FromName);
//
Assunto da mensagem
$mail->Subject
= "Assunto-da-mensagem";
//
Toda a estrutura HTML e corpo da mensagem
$mail->Body
= $msg;
//
Controle de erro ou sucesso no envio
if
(!$mail->Send())
{
echo
"Erro
de envio: "
.
$mail->ErrorInfo;
}
else{
echo
"Mensagem
enviada com sucesso!";
}
?>
</body>
</html>
Salve
este arquivo como email.php no seu diretório raíz, o
mesmo que contem o diretório phpmailer/
Abra
o arquivo php.ini, que no meu caso está dentro do
diretório C:\php
Procure
por:
;extension=php_openssl.dll
Retire
o ';' do
início da linha para descomentar e ativar a extensão php
openssl, ficando assim:
extension=php_openssl.dll
Feito
isso, agora levando em conta que salvou o
arquivo email.php diretamente
na raiz de seu servidor, digite na barra de endereço de seu
navegador a seguinte URL:
Após
acessar a URL acima, analise o resultado na tela.
Se deu alguma
mensagem de erro, revise, se não adiantar a revisão, faça um
comentário e tento ajudar.Se deu mensagem de sucesso, parabéns,
você conseguiu.
Verifique a caixa de entrada da conta de email a
qual você definiu em $mail->AddAddress,
e veja se chegou alguma mensagem.
Espero que
tenha gostado
Nenhum comentário:
Postar um comentário