Ir para conteúdo

Arquivado

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

Wender Leão

Enviar cópia de email de um form para cliente

Recommended Posts

Olá pessoa, estou tendo um problema, estou tentando colocar para enviar uma cópia para o cliente do email, mas nesse form não estou conseguindo, já tentei de tudo e nada, se alguém puder me ajudar ficaria grato. Faço em outros form de forma fácil isso mas com esse nada. :/

 

 

 

formaction.php

<?php

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

//#########################################
// Recebe as informações do formulário
//#########################################

$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$assunto = $_POST['assunto'];
$tamanhos = $_POST['tamanhos'];
$url = $_POST['url'];
$mensagem = $_POST['mensagem'];

//#########################################
// Dados da conta de e-mail que fará o envio
//#########################################

$smtp = new Smtp("localhost"); //Endereço do SMTP, geralmente localhost.
$smtp->user = "jean@empresa.com.br";  //Conta de email
$smtp->pass = "senha@"; //Senha da Conta de e-mail.
$smtp->debug = false; //Somente para usuários avançados que desejam o log do envio para testes.

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


$to = "testes@empresa.com.br"; //Informe aqui o e-mail que deve receber a mensagem do formulário.

$from = $email;
$subject = "Pedido de orçamento pelo site - " . $assunto;
$msg = "
Pedido de orçamento pelo site:

|||- Produto: $assunto
|||- Peso/Tamanho: $tamanhos
|||- Cliente: $nome
|||- Telefone: $telefone
|||- URL: $url
|||- Mensagem: $mensagem
";


	if (isset($_POST['submit'])) {
		if($nome && $email && $telefone && $assunto && $mensagem) {
				if($smtp->Send($to, $from, $subject, $msg)){
					echo "<script>alert('Enviado com sucesso!');</script>";
					echo "<script>window.location = 'http://www.empresa.com.br/page/sucesso/';</script>"; //Altere aqui para o endereço de sua página.
					exit;
				}
	   }


	}

?>

phpmailer.php

<?php

class Smtp{

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

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";
  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);
}
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia,

 

nos headers da função toHeader() você pode adicionar uma linha com o CC e setar com o email de quem estiver utilizando o form.

$header .= "Cc: <" . $from . "> \r\n ";

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é eu adicionei na função aqui até outras vezes, chega email normal para mim, mas para o cliente não chega, já olhei no spam tb.

 

A função ficou assim, e se eu coloco a variável a baixo de $to ele anula as outras variáveis.

 

Obrigado pela atenção

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 .= "Cc: <" . $from . "> \r\n ";
  return $header;
}

Pois é eu adicionei na função aqui até outras vezes, chega email normal para mim, mas para o cliente não chega, já olhei no spam tb.

A função ficou assim, e se eu coloco a variável também a baixo de $to ele anula as outras variáveis.

Obrigado pela atenção

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 .= "Cc: <" . $from . "> \r\n ";
  return $header;
}

 

 

Bom dia,

 

nos headers da função toHeader() você pode adicionar uma linha com o CC e setar com o email de quem estiver utilizando o form.

$header .= "Cc: <" . $from . "> \r\n ";

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ei Wender, tudo bem?

 

Estive fora no último mês e acabei não vendo o fórum, conseguiu resolver?

 

Abraço

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.