Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leofregnani

Enviando uma cópia do email enviado pelo site ao visitante

Recommended Posts

Boa tarde a todos,

 

Estou tendo problema em enviar uma cópia do email gerado pelo site para o visitante, segue o código.

<?php

class Smtp{

var $conn;
var $user;
var $pass;
var $debug = false;

function Smtp($host){
  $this->conn = fsockopen($host, 587, $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, $msge){

	$this->Auth();
  $this->Put("MAIL FROM: " . $from);
  $this->Put("RCPT TO: " . $to);
  $THIS->pUT("CC: " . $from);
  $this->Put("DATA");
  $this->Put($this->toHeader($to, $from, $subject));
  $this->Put("\r\n");
  $this->Put("O valor do seu orçamento é de R$ " . number_format( (float) $msge, 2, ',', '.' ));
  $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 .= "To: <".$to."> \r\n";
  $header .= "CC: <".$from."> \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";
  return $header;
}
function Close(){
  $this->Put("QUIT");
  if($this->debug == true){
  while (!feof ($this->conn)) {
    echo fgets($this->conn) . "<br>\n";
  }
  }
  return fclose($this->conn);
}
}

?>

Agradeço a força de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi Lucas,

 

Talvez não tenha me expressado bem.

no código que postei eu preciso que o visitante do site receba o mesmo email enviado, é possível fazer isso no código?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, é possível. Mas não é nesse código ai que vc vai mexer.

É no outro que utiliza essa classe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas não é nela a alteração.

É no enviar.php, poste ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, depois que li novamente o seu post que percebi o que estava falando

Segue o código:

<?php

include_once('phpmailer.php'); //Chama o arquivo phpmailer com as funções para realizar o envio.

//###################################
//Recebe a informações do formulário.
//###################################

$nome = $_POST['nome'];
$email = $_POST['email'];
$assunto = $_POST['assunto'];
$mensagem = $_POST['mensagem'];
$valor_tamanho = $_POST['metros_quad'];
$valor_metro = 40;
$orcamento;

$orcamento = $valor_tamanho * $valor_metro;

//##########################################
// Dados da conta de email que fara o envio
//##########################################

$smtp = new Smtp("localhost");
$smtp->user = "suporte@fregnani.com";
$smtp->pass = "1234567890@";
$smtp->debug = false;

//######################################
// Envio do formulário
//######################################

$to = "leonardo@fregnani.com"; //informe aqui o email que deve receber a mensagem de email
$from = $email;
$subject = "Contato - " .$assunto;
$msge = $orcamento;
$msg = $mensagem;

	if (isset($_POST['submit'])) {
		if($nome && $email && $assunto && $mensagem && $orcamento) {
			if($smtp->Send($to, $from, $subject, $msg, $msge)){
				echo "<script>alert('Contato enviado!');</script>";
				echo "<script>window.location.href = 'index.html';</script>";
				exit;
			}
		}
		else {
			echo "<script>alert('Preencha todos os campos!');</script>";
			echo "<script>window.location.href = 'contact.html';</script>";
			exit;
		}
	}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloca mais uma dessa linha:

 

$smtp->Send($to, $from, $subject, $msg, $msge);
trocando o $to. Assim:

$smtp->Send("suporte@fregnani.com", $from, $subject, $msg, $msge);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz.

 

Bom, para o envio de cópias, o PHPMailer tem métodos especificos:

 

AddCC($address, $name = "")

string $address
string $name

Adds a "Cc" address. Note: this function works with the SMTP mailer on win32, not with the "mail" mailer.

 

AddBCC($address, $name = "")

string $address
string $name

Adds a "Bcc" address. Note: this function works with the SMTP mailer on win32, not with the "mail" mailer.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas,

 

Não estou trocando, alias estou seguindo a sua dica no post anterior. O primeiro script que fiz ainda funciona no site, mas estou fazendo testes a parte para poder implementar, com a classe phpmailer recebo a seguinte mensagem de erro:

 

Fatal error: Class 'SMTP' not found in /home/fregn931/public_html/form/phpmailer/class.phpmailer.php on line 1196

 

peguei o script neste link: https://github.com/PHPMailer/PHPMailer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você alterou o arquivo SMTP? Se alterou, remova o PHPMailer do projeto, baixe novamente e recoloque-o, intacto.

 

E leu o README do PHPMailer?

 

PHPMailer provides an SPL-compatible autoloader, and that is the preferred way of loading the library - just require '/path/to/PHPMailerAutoload.php'; and everything should work.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leo,

 

Eu tenho várias rotinas em meus sites onde eu envio email gerado no meu site para o visitante. Disparo email logo que ele se cadastrar, e quando é feita alguma operação no site pelo visitante cadastrado. Funciona beleza,

 

Me passa teu email que no final da tarde eu te envio o script comentado para adaptares a tua necessidade.

 

Meu email é : nunesp25@hotmail.com

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Lucas e Paulo,

 

Agradeço a paciência, deu certo mesmo como vc postou Lucas, no nervosismo de resolver esse problema logo não tinha lido o arquivo leiame... :assobiando:

 

Paulo, eu enviei o meu email para vc, qualquer coisa trocamos idéais.

 

após ter baixado os arquivos e colocado na pasta e feito a referência ao phpmailerautoloader.php resolveu o problema e está funcionando corretamente.

 

Obrigado a todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.