22.05.2018, 21:02
Saudaзхes!
Eu uso a include NMailer, do Locky_, faz tempo e funciona perfeitamente!
Ela usa os scripts do PHPMailer para enviar os e-mails, porйm й uma versгo antiga e vulnerбvel.
Eu atualizei com a versгo mais recente e vou disponibilizar abaixo as alteraзхes mнnimas necessбrias para a
include funcionar com as novas versхes do PHPMailer. Muito simples.
OBS: Nгo sou um expert em PHP, mas mesmo entendendo do bбsico, meu tutorial funciona!
--------------------------------------------------------------------------------------
NOTA: As novas atualizaзхes usam PHP 5.5 pra cima, ao contrбrio da atual que usa PHP 5.2 pra cima.
Certifique-se de que seu host usa PHP 5.5 pra cima!
Com acesso ao CPanel de sua hospedagem, procure por:
Clique e veja as opзхes de versхes do PHP disponнveis!
--------------------------------------------------------------------------------------
VANTAGENS DE ATUALIZAR
1 - Melhorias constantes nos scripts.
2 - Seguranзa no sistema de envio de e-mails.
3 - Reduзгo, dinamismo e organizaзгo dos arquivos.
TUTORIAL
1 - Nгo esqueзa de fazer um backup dos arquivos originais antes.
2 - Se vocк nгo possui, baixe a include NMailer: https://sampforum.blast.hk/showthread.php?tid=572769
3 - Baixe a ъltima versгo do PHPMailer: https://github.com/PHPMailer/PHPMailer/releases
4 - A presente versгo й 6.0.5, entгo pegue a pasta "PHPMailer-6.0.5" e cole dentro da pasta "nmail", a qual vem junto com os arquivos da include.
5 - Dentro da pasta "nmail", abra o arquivo "index.php".
6 - Substitua todo o conteъdo do arquivo por este:
7 - Observe os seguintes cуdigos importantes, com as regras das novas versхes:
NOTA: Esses cуdigos devem estar sempre no topo do script, nunca dentro de uma funзгo, ou nгo vai funcionar!
8 - Salve o arquivo "index.php" e envie a pasta "nmail" para o host.
9 - Pronto, vocк estб com a versгo mais atual do PHPMailer.
10 - Caso queira estudar mais sobre esse incrнvel projeto: https://github.com/PHPMailer/PHPMailer
CRЙDITOS
Tutorial - JR_Junior
Include NMailer - Locky_
PHPMailer - Synchro
Eu uso a include NMailer, do Locky_, faz tempo e funciona perfeitamente!
Ela usa os scripts do PHPMailer para enviar os e-mails, porйm й uma versгo antiga e vulnerбvel.
Eu atualizei com a versгo mais recente e vou disponibilizar abaixo as alteraзхes mнnimas necessбrias para a
include funcionar com as novas versхes do PHPMailer. Muito simples.
OBS: Nгo sou um expert em PHP, mas mesmo entendendo do bбsico, meu tutorial funciona!
--------------------------------------------------------------------------------------
NOTA: As novas atualizaзхes usam PHP 5.5 pra cima, ao contrбrio da atual que usa PHP 5.2 pra cima.
Certifique-se de que seu host usa PHP 5.5 pra cima!
Com acesso ao CPanel de sua hospedagem, procure por:
Clique e veja as opзхes de versхes do PHP disponнveis!
--------------------------------------------------------------------------------------
VANTAGENS DE ATUALIZAR
1 - Melhorias constantes nos scripts.
2 - Seguranзa no sistema de envio de e-mails.
3 - Reduзгo, dinamismo e organizaзгo dos arquivos.
TUTORIAL
1 - Nгo esqueзa de fazer um backup dos arquivos originais antes.
2 - Se vocк nгo possui, baixe a include NMailer: https://sampforum.blast.hk/showthread.php?tid=572769
3 - Baixe a ъltima versгo do PHPMailer: https://github.com/PHPMailer/PHPMailer/releases
4 - A presente versгo й 6.0.5, entгo pegue a pasta "PHPMailer-6.0.5" e cole dentro da pasta "nmail", a qual vem junto com os arquivos da include.
5 - Dentro da pasta "nmail", abra o arquivo "index.php".
6 - Substitua todo o conteъdo do arquivo por este:
PHP код:
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
include ("PHPMailer-6.0.5/src/PHPMailer.php");
include ("PHPMailer-6.0.5/src/SMTP.php");
$mail = new PHPMailer();
if(!isset($_GET['autenticado']))
{
if(!isset($_POST['de']) || !isset($_POST['para']) ||
!isset($_POST['tit']) || !isset($_POST['msg'])) die ("Erro - E-mail nгo autenticado ou mal formado!");
$charset = $_POST['charset'];
$de = $_POST['de'];
$nome = $_POST['nome'];
$para = $_POST['para'];
if($charset == "utf-8")
{
$titulo = utf8_encode($_POST['tit']);
$msg = utf8_encode($_POST['msg']);
}
else
{
$titulo = $_POST['tit'];
$msg = $_POST['msg'];
}
$type = $_POST['type'];
$headers = "MIME-Version: 1.1\r\n";
$headers .= "Content-type: $type; charset=$charset\r\n";
$headers .= "From: $nome<{$_POST[ 'de' ]}>\r\n"; // remetente
$headers .= "Return-Path: $de\r\n"; // return-path
$envio = mail($para, $titulo, $msg, $headers);
if(!$envio) echo 'E-mail nгo enviado...';
else echo 'E-mail enviado com sucesso!';
}
else
{
if(!isset($_POST['nome']) || !isset($_POST['de']) || !isset($_POST['senha']) || !isset($_POST['host']) || !isset($_POST['porta']) ||
!isset($_POST['para']) || !isset($_POST['tit']) || !isset($_POST['msg'])) die ("Erro - E-mail nгo autenticado ou mal formado!");
//$mail->SMTPDebug = 1;//Use isso para checar possiveis problemas
$mail->SMTPSecure = 'tls';
$mail->IsSMTP();
$mail->SetLanguage("br");
$mail->CharSet = $_POST['charset'];
$mail->Username = $_POST['de'];
$mail->From = $_POST['de'];
$mail->FromName = $_POST['nome'];
$mail->Password = $_POST['senha'];
$mail->Host = $_POST['host'];
$mail->Port = $_POST['porta'];
$mail->SMTPAuth = true;
$mail->AuthType = $_POST['auth'];
if($_POST['charset'] == "utf-8")
{
$mail->Subject = utf8_encode($_POST['tit']);
$mail->Body = utf8_encode($_POST['msg']);
$mail->AltBody = utf8_encode($_POST['msg']);
}
else
{
$mail->Subject = $_POST['tit'];
$mail->Body = $_POST['msg'];
$mail->AltBody = $_POST['msg'];
}
$mail->IsHTML((($_POST['type'] == "text/html") ? (true) : (false)));
$mail->AddAddress($_POST['para']);
$envio = $mail->Send();
if(!$envio) echo 'E-mail nгo enviado...';
else echo 'E-mail enviado com sucesso!';
}
?>
PHP код:
use PHPMailer\PHPMailer\PHPMailer;//Й preciso definirmos isso pra usarmos a classe PHPMailer().
use PHPMailer\PHPMailer\SMTP;//Tambйm isso pra usarmos as funзхes de envio de e-mail via SMTP.
//Definindo/incluindo os arquivos necessбrios baseado na pasta com a versгo atual do PHPMailer.
include ("PHPMailer-6.0.5/src/PHPMailer.php");//Arquivo com as funзхes bбsicas do PHPMailer.
include ("PHPMailer-6.0.5/src/SMTP.php");//Arquivo com as funзхes bбsicas do sistema de envio via SMTP.
$mail = new PHPMailer();//Declaramos a classe PHPMailer() para usarmos no envio dos e-mails.
8 - Salve o arquivo "index.php" e envie a pasta "nmail" para o host.
9 - Pronto, vocк estб com a versгo mais atual do PHPMailer.
10 - Caso queira estudar mais sobre esse incrнvel projeto: https://github.com/PHPMailer/PHPMailer
CRЙDITOS
Tutorial - JR_Junior
Include NMailer - Locky_
PHPMailer - Synchro