Como enviar e-mail autenticado com PHP? imprimir

  • 5

Olá! Saiba como enviar e-mail por PHP de forma segura e eficiente. Abaixo segue a classe de envio em PHP:

- Abra um Arquivo Novo e salve como: smtp.class.php

DICA: Uma boa prática é salvar este arquivo em uma pasta especifica, tipo /classe/smtp.class.php

class Smtp{

var $conn;
var $user;
var $pass;
var $debug;

function Smtp($host){
$this->conn = fsockopen($host, 25, $errno, $errstr, 30);
$this->Put("EHLO $host");
}
function Auth(){
$this->Put("AUTH LOGIN");
$this->Put(base64_encode($this->user));
$this->Put(base64_encode($this->pass));
}
function Send($to, $from, $subject, $msg){

$this->Auth();
$this->Put("MAIL FROM: " . $from);
$this->Put("RCPT TO: " . $to);
$this->Put("DATA");
$this->Put($this->toHeader($to, $from, $subject));
$this->Put("\r\n");
$this->Put($msg);
$this->Put(".");
$this->Close();
if(isset($this->conn)){
return true;
}else{
return false;
}
}
function Put($value){
return fputs($this->conn, $value . "\r\n");
}
function toHeader($to, $from, $subject){
$header = "Message-Id: <". date('YmdHis').".". md5(microtime()).".". strtoupper($from) ."> \r\n";
$header .= "From: <" . $from . "> \r\n";
$header .= "To: <".$to."> \r\n";
$header .= "Subject: ".$subject." \r\n";
$header .= "Date: ". date('D, d M Y H:i:s O') ." \r\n";
$header .= "X-MSMail-Priority: High \r\n";
$header .= "Content-Type: Text/HTML; charset=utf-8";
return $header;
}
function Close(){
$this->Put("QUIT");
if($this->debug == true){
while (!feof ($this->conn)) {
fgets($this->conn) . "
\n";
}
}
return fclose($this->conn);
}
}

?>

- Abra um novo arquivo em PHP e salve como contato.php: 

$envio = false;
/* Configuração da classe.smtp.php */
$host = "localhost"; /*host do servidor SMTP na Link Nacional use sempre localhost */
$smtp = new Smtp($host);
$smtp->user = "sememail@seudominio.com.br";/*conta de email para envio do email.*/
$smtp->pass = "digitesuasenha";/* senha dousuario do servidor SMTP*/
$smtp->debug =true; /* ativar a autenticação SMTP, se for da Link Nacional deixe true*/
$to = "voureceber@nodominio.com.br"/*email q irá receber as infos*/
?>

 


$msg ="
E-mail: ".$_POST['correio'];
$msg .="
Nome: ".$_POST['nome'];
$msg .="
Telefone: ".$_POST['telefone'];
$msg .="
Mensagem: ".$_POST['mensagem'];


/* envia uma mensagem */
$from= $_POST['correio']; /* seu e-mail */

$subject = "ASSUNTO: Formulário de Contato"; /* assunto da mensagem */
$smtp->Send($to, $from, $subject, $msg);/* faz o envio da mensagem */

$envio = true;// confirmação de envio
}
?>

Sua Mensagem foi enviada com sucesso!



                       

         
                       
Nome:
E-mail:
Telefone:
Mensagem:
 
  

 


Esta resposta lhe foi útil?

« Voltar