Segue classe simples com exemplo para envio de e-mail autenticado
smtp.class.php
<?
class Smtp{
var $conn;
var $usuario_smtp;
var $senha_smtp;
var $debug;
function Smtp($servidor_smtp){
$this->conn = fsockopen($servidor_smtp, 25, $errno, $errstr, 30);
$this->AdicionaDadosSMTP("EHLO $servidor_smtp");
}
function Autentica(){
$this->AdicionaDadosSMTP("AUTH LOGIN");
$this->AdicionaDadosSMTP(base64_encode($this->user));
$this->AdicionaDadosSMTP(base64_encode($this->pass));
}
function Send($para, $de, $assunto, $mensagem){
$this->Autentica();
$this->AdicionaDadosSMTP("MAIL FROM: " . $de);
$this->AdicionaDadosSMTP("RCPT TO: " . $para);
$this->AdicionaDadosSMTP("DATA");
$this->AdicionaDadosSMTP($this->CabecTO($para, $de, $assunto));
$this->AdicionaDadosSMTP("\r\n");
$this->AdicionaDadosSMTP($mensagem);
$this->AdicionaDadosSMTP(".");
$this->Close();
if(isset($this->conn)){
return true;
}else{
return false;
}
}
function AdicionaDadosSMTP($valor){
return fputs($this->conn, $valor . "\r\n");
}
function CabecTO($para, $de, $assunto){
$header = "Message-Id: <". date('YmdHis').".". md5(microtime()).".". strtoupper($de) ."> \r\n";
$header .= "From: <" . $de . "> \r\n";
$header .= "To: <".$para."> \r\n";
$header .= "Subject: ".$assunto." \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";
return $header;
}
function Close(){
$this->AdicionaDadosSMTP("QUIT");
if($this->debug == true){
while (!feof ($this->conn)) {
fgets($this->conn) . "<br>\n";
}
}
return fclose($this->conn);
}
}
?>
configura_smtp.php
<?
###Inclui a Classe ###
include "smtp.class.php";
###Configuração dos dados de conexão com o servidor###
###############################################################################################################
$ServidorEmail = "mail.seuservidor"; //coloque a mesma configuração que coloca no SMTP em cliente de e-mail
$EmailParaAutenticar = "endereco@email"; coloque o endereco de e-mail
$SenhaEmail = "senha"; //coloque a senha de seu e-mail
###############################################################################################################
###Servidor que vai se conectar ###
$servidor_smtp = $ServidorEmail;
###e-mail para autenticação ###
$smtp->usuario_smtp = EmailParaAutenticar;
###senha do e-mail para autenticação ###
$smtp->senha_smtp = $SenhaEmail; /* senha do usuario do servidor SMTP*/
$smtp = new Smtp($servidor_smtp);
$smtp->debug =true;
?>
envia_email.php
<?
include "configura_smtp.php";
### Dados para o envio #####
$de= "email@quequerqueapareca; /* coloque aqui o e-mail que vai aparecer */
$para = "email@paraquemvai"; /* para quem enviar o e-mail*/
$assunto = "Teste de e-mail utilizando SMTP"; /* assunto da mensagem */
$mensagem = "<b>Teste de Envio de Mensagem utilizando classe smtp</b><br>";
### Envia a mensagem ###
$smtp->Send($para, $de, $assunto, $mensagem);/* faz o envio da mensagem */
?>
Pergunta
jissa
Segue classe simples com exemplo para envio de e-mail autenticado
smtp.class.php
configura_smtp.php envia_email.php Editado por jissaLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.