Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou usando uma classe chamada Smtp para o envio do e-mail.
Mas a mensagem é em HTML, a mensagem esta indo correto, o problema só é a imagem do logotipo que não esta chegando. Já tentei inserindo o endereco da imagem no servidor: "http://189.0.0.0/imagens/imagem.jpg" mas mesmo assim não funciona.
Pelo que verifiquei na internet parece que precisa de identificar a imagem, não consegui entender muito bem, Analisei e tentei usar umas classes que fazem isso, mas não tive sucesso. Preciso de um Help de voces, aqui em baixo segue a classe.
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=iso-8859-1\r\n";
return $header;
}
function Close(){
$this->Put("QUIT");
if($this->debug == true){
while (!feof ($this->conn)) {
fgets($this->conn) . "<br>\n";
}
}
return fclose($this->conn);
}
}
E aqui é o mais importante é onde eu declaro o objeto e preparo a mensagem, eu tirei boa parte do HTML e deixei somente a parte do LOGO mesmo que é minha dúvida.
Configuração da classe.smtp.php /
$host = "$param_web[smtp]"; /*host do servidor SMTP
Usar localhost é a melhor maneira principalmente onde roda o cPanel,
se colocar um host externo a chance de ele ser close relay é muito grande
ai não vai funcionar, da erro de conexãõ*/
$smtp = new Smtp($host);
$smtp->user = "$param_web[email_emitente]"; /usuario do servidor SMTP /
$smtp->pass = "$param_web[senha_emitente]"; / senha dousuario do servidor SMTP/
$smtp->debug =true; / ativar a autenticação SMTP/
/ envia uma mensagem /
$from= "$param_web[email_emitente]"; / seu e-mail /
$to = "$param_web[email_destino]"; / o e-mail cadastrado/
$subject = "Pedido Numero $numero_orc - $nome_vendedor"; / assunto da mensagem /
$css = "<html><head>
<title>Pedido n° $numero_orc</title>
<style type='text/css'>
#logo{
float:left;
width:10px;
height:100px;
border:0px solid #000;
}
</style>
</head>
<body>
";
// Esta div fica a imagem com o link (este link é fictício).
$cab = "<div id='logo'><img src='http://189.0.0.1/imagens/imagem.jpg' /></div>";
$rodape = "</body></hmtl>";
$pagina = $css.$cab.$rodape;
$smtp->Send($to, $from, $subject, $pagina); /faz o envio da mensagem /
Espero que dê para entender. Estou no aguado,Obrigadão
Carregando comentários...