Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
11 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 11 Visitantes :: 1 Motor de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Últimos assuntos
USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 2

Visite meu canal no Youtube

20/1/2017, 00:45 por ImRicoh

VFP Unlimited


Comentários: 0

Bloquear edição do ListBox

17/6/2010, 15:13 por Julio

Pessoal

Boa Tarde!

Tnho uma listbox apenas para exibir o resultado.
Preciso bloquear a listbox …

Comentários: 17

automação do mozilla e chrome

15/1/2017, 12:16 por Handerson Mildroz

Boa tarde a todos!

Sou iniciante no VFP. Preciso de ajuda, pois tenho um código que usa o …

Comentários: 0

Estatísticas
Temos 6992 usuários registrados
O último usuário registrado atende pelo nome de BrenoTayne

Os nossos membros postaram um total de 10 mensagens em 4 assuntos

Utilizando PHPMailer

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Anexo Utilizando PHPMailer

Mensagem por etocsam em 1/5/2011, 00:17

Boa Noite Pessoal !
Sou novo no fórum e estava lendo alguns tópicos e percebi que não há nenhum falando da classe PHPMailer, então resolvi postar aqui para ajudar alguém que necessite enviar e-mails.

Os créditos vão para a autora Flávia Jobstraibizer que possui algumas dicas de php no seu site [Você precisa estar registrado e conectado para ver este link.] na qual retirei algumas informações, pois não me lembrava de cabeça as funções ! Laughing

Vamos utilizar a função PHPMailer que pode ser baixada no site
[Você precisa estar registrado e conectado para ver este link.]

Após baixar o arquivo e descompactar no local de sua preferência, podemos começar !

Formulário de contato: contato.php

Coloquei um estilo no formulário para não ficar uma coisa muito simples.
Código:
<style type="text/css">
/* Conatct Form */
#contactform { margin:0; padding:5px;}
#contactform * { font-family: Calibri, Helvetica, sans-serif;; font-size:12px;}
#contactform ol { margin:0; padding:0; list-style:none;}
#contactform li { margin:0 0 5px 0; padding:10px; background:none;}
#contactform li.buttons { margin:0; overflow:hidden;}
#contactform label { margin:0; width:150px; display:block; float:left; padding:2px 0; font:bold 12px Calibri, Helvetica, sans-serif; color:#666666;}
#contactform label span { font:normal 10px Calibri, Helvetica, sans-serif; color:#afafaf; margin:0; padding:0;}
#contactform input.text { width:280px; border:1px solid #d6d6d6; margin:0 0 0 15px; padding:5px 2px; background:#fff;}
#contactform textarea { width:280px; border:1px solid #d6d6d6; margin:0 0 0 15px; padding:2px; background:#fff;}
#contactform select { width:280px; border:1px solid #d6d6d6; margin:0 0 0 15px; padding:5px 2px; background:#fff;}
#contactform li.buttons input { padding:3px 10px; margin:0 0 0 150px; background:#151515; color:#FFF; float:left;}
</style>
<div id="contactform">
   <form name="frmCadastro" id="frmCadastro" enctype="multipart/form-data" method="post" action="enviaemail.php">
   <ol>
     <li>
      <label for="emailpara">Enviar para*<br/>
      <span>Selecione o email para contato</span></label>
       <select name="emailpara" id="emailpara" class="select">
         <option value="">Selecione a categoria</option>
         <option value="vendas@domain.com" <?=$selectedProd?>>Vendas</option>
         <option value="suporte@domain.com">Suporte</option>
         <option value="contato@domain.com" <?=$selected?>>Contato</option>
      </select>
     </li>
     <li>
      <label for="name">Nome*

        <span>Informe seu nome completo</span></label>
      <input id="nome" name="nome"  class="text"  />
     </li>
     <li>
      <label for="email">Seu e-mail*

        <span>Informe seu endereço de e-mail</span></label>
      <input id="email" name="email" class="text" />
     </li>
          <li>
      <label for="assunto">Assunto*

        <span>Informe o assunto</span></label>
      <input id="assunto" name="assunto" class="text" />
     </li>
     <li>
      <label for="mensagem">Sua mensagem*

        <span>Descreva sua mensagem</span></label>
      <textarea id="mensagem" name="mensagem" rows="6" cols="50"></textarea>
     </li>
     <li class="buttons">
      <input type="submit" name="Submit" value="Enviar" />
     </li>
   </ol>     
   </form>
</div>

Você pode ver acima que estamos passando os dados do formulário (via POST) para a página enviaemail.php.

Página: enviaemial.php

Código:
    // A instrução require_once() inclui e avalia o arquivo, similar a instrução require(), porém carrega somente uma vez a classe phpmailer.
    require_once('class.phpmailer.php');
   
    // Pegando os dados passados pelo form
    $enviarpara = $_POST['enviarpara'];
    $nomeusuario = $_POST['nome'];
    $emailusuario = $_POST['email'];
    $assunto = $_POST['assunto'];
    $mensagem = $_POST['mensagem'];
   
   
    // Fazemos a chamada da classe
    $mail= new PHPMailer();
    // Na classe podemos setar a opção de idioma.
    $mail->SetLanguage("br");
    // Você pode utilizar outras funções como sendmail, qmail, etc. No exemplo aqui postado vamos usar a função mail do php.
    $mail->IsMail();
    // Ativa o envio de e-mails em HTML, se false, desativa. ( Vi um tópico que necessitava disso ) :D
    $mail->IsHTML(true);
    // email do remetente da mensagem
    $mail->From = $emailusuario;
    // nome do remetente do email
    $mail->FromName = $nomeusuario;
    // Endereço de destino do email, ou seja, pra onde você quer que a mensagem do formulário vá?
    $mail->AddAddress($enviarpara);
    // informando no email, o assunto da mensagem
    $mail->Subject = $assunto;
   
    // Define o texto da mensagem (aceita HTML)
    $mail->Body .= "<B>E-mail enviado por usuário<BR></b>";
    $mail->Body .= "Mensagem do usuário: $msg<BR><BR>";
   
    // Verifica se está tudo OK com os parametros acima, se sim envia, senão avisa do erro !

  if(!$mail->Send()) {
        echo "<p>A mensagem não foi enviada!</p>";
        echo "Erro: ".$mail->ErrorInfo;
  }else{
        echo "Sua mensagem foi enviada com sucesso !";
  }

Pronto ! Espero que tenham gostado ! Este é um formulário e a classe PHPMailer de forma basica, logo mais posto informações sobre smtp. Se tiver algum erro, me desculpem, pois fiz na pressa !
Até mais abraços !

etocsam
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Anexo Re: Utilizando PHPMailer

Mensagem por Marcos Guedes em 2/5/2011, 08:31

Boa, etocsam!
Reputado!

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: Utilizando PHPMailer

Mensagem por paulomelo em 22/5/2012, 10:19

Tudo bem pessoal?

Estou utilizando o PHPMAILER na versão 5.2.1, porém o envio chega ao destinatário e também pra mim como remetente. Imagina isso em um banco com 900 emails?

Já vi algo parecido nos foruns, porém não consegui resolver. confused

Vcs tem como me ajudar?

Abro minha tabela no VFP passo os valores como parametro.
Enviando os parametros para o PHP:
Código:
 


FUNCTION emailphp(wVarHost,wUsuario,wSenha,wemail_remetente,wnome_remetente,wemail_destinatario,wnome_destinatario,wassunto,wmensagememail)
    PUBLIC parametros as String
* SET STEP ON
    parametros=''
    parametros = "varhost=" + wvarhost+"&"
    parametros = parametros + "usuario="+ wusuario+ "&"
    parametros = parametros + "senha="+ wsenha+ "&"
    parametros = parametros + "emailremetente="+ wEmail_Remetente + "&"
    parametros = parametros + "nomeremetente=" + wNome_remetente + "&"
    parametros = parametros + "emaildestinatario=" + wemail_destinatario + "&"   
    parametros = parametros + "nomedestinatario=" + wnome_destinatario + "&"
    parametros = parametros + "assunto=" + wassunto + "&"
    parametros = parametros + "mensagememail=" + wmensagememail

  * parametros = parametros + "arquivo_pdf="+ warquivo_PDF + "&"
   
   
*    loxmlhttp = CREATEOBJECT("MSXML2.XMLHTTP.4.0")
*    loxmlhttp = CREATEOBJECT("Microsoft.XMLHTTP")
    loxmlhttp = CREATEOBJECT("MSXML2.XMLHTTP")
        loxmlhttp.OPEN("POST","http://www.attitudeloja.com.br/teste_phpmailer1.php",.f.)
    loxmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    loxmlhttp.send(parametros)
    PUBLIC lcresponse
    SET STEP ON
    lcresponse = loxmlhttp.responseText
*  WAIT WINDOW lcresponse
    loxmlhttp = .NULL.
    RETURN "EMAIL OK"$UPPER(LCRESPONSE)


recebendo os parametros em PHP:
Código:
 
<?php
require_once("phpmailer/class.phpmailer.php");

$to = $_POST['emaildestinatario'];
$emailremetente = 'contato@meusite.com.br';
$nomeremetente = 'PauloMelo';
$assunto = utf8_decode($_POST['assunto']);
$mensagememail = utf8_decode($_POST['mensagememail']);

$mail = new PHPMailer();
$mail->SetLanguage("br");
$mail->IsMail();
$mail->IsSMTP();
$mail->Host = "smtp-vip.uni5.net";
$mail->SMTPAuth = true;
$mail->Username = $usuario;
$mail->Password = $senha;
$mail->Priority  = 1;
$mail->SMTPDebug  = true;                                                    //Habilita debug do SMTP
$mail->SingleTo  = true;   
$mail->WordWrap = 50;
$mail->From = $emailremetente;
$mail->FromName = $nomeremetente;

$mail->CharSet="iso-8859-1";
$mail->AddAddress($to);
$mail->IsHTML(true);
$mail->Subject = $assunto;
$mail->Body = $mensagememail;
$mail->Send();
?>

//http://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list

paulomelo
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Anexo Re: Utilizando PHPMailer

Mensagem por Marcos Guedes em 23/5/2012, 08:26

O que está chegando para você não são mensagens de respostas automáticas?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Anexo Re: Utilizando PHPMailer

Mensagem por paulomelo em 23/5/2012, 09:45

Marcos, bom dia!

Não são respostas automáticas, mas sim exatamente as que envio para o destinatário me retornam também como remetente.
Eu já utilizo a classe abaixo sem problemas nenhum, porém ao testar a PHPMAILER está acontecendo este problema.

Código PHP usado sem problema:
Código:

<?php
        $to              = $_POST["emaildestinatario"];       
        $subject        = utf8_decode($_POST["assunto"]);
        $html            = utf8_decode($_POST["mensagememail"]);
        $nomeremetente  = utf8_decode($_POST["nomeremetente"]);
        $emailremetente  = $_POST["emailremetente"];
        $arquivo_pdf    = utf8_decode($_POST["arquivo_pdf"]);
      
        $headers = "MIME-Version: 1.1\n";
        $headers .= "Content-Description: File Transfer\n";
        $headers .= "Content-type: text/html; charset=iso-8859-1\n";
        $headers .= "From: " . "$nomeremetente" . " <" . "$emailremetente" . ">\r\n";
      
      
      
      
  if (mail ($to,$subject,$html,$headers))
    {
echo "Email OK";
    }
  else
    {
echo "Erro no Envio do Email(PHP)!";    }
?>

paulomelo
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Anexo Re: Utilizando PHPMailer

Mensagem por etocsam em 25/6/2012, 18:48

Eu costumo utilizar esta classe para facilitar o envio:

Código:
<?php

class Contact
{
   private $email,
         $str,
         $error,
         $sql,
         $db,
         $to,
         $option,
         $email_template;
   var $title=" Titulo do site";
   
   public function __construct()
   {   
      $this->email = new PHPMailer();
      
      global $str;
      $this->str = $str;
      
      global $db;
      $this->db = $db;
      
   }
   
   public function __set($var, $val){
        $this->$var = $val;
    }

   public function SendContact($data, $file = NULL, $complemento = NULL)
   {
      global $config;
      date_default_timezone_set('America/Sao_Paulo');
      
      $title = $complemento." via".$this->title;
      $subject = $complemento.$this->title;
      
      $this->email->IsSMTP();          // telling the class to use SMTP
         
      $this->email->SMTPDebug  = 1;      // enables SMTP debug information (for testing)
                                 // 1 = errors and messages
                                 // 2 = messages only
      if($_SERVER['HTTP_HOST']=='localhost' || $_SERVER['HTTP_HOST']=='server')
      {   
         
         $this->email->SMTPAuth = true;                // enable SMTP authentication
         $this->email->Host = "localhot";       // sets the SMTP server   
         $this->email->Username = "root";    // SMTP account username
         $this->email->Password = "";          // SMTP account password
         $this->email->Port =  25;                   // set the SMTP port for the GMAIL server
         
      }elseif( isset($config) && strlen($config["smtp_host"])>0 ){
         $this->email->SMTPAuth = true;                                        // enable SMTP authentication
         $this->email->Host =    $config["smtp_host"];                                // smtp.domain.com.br sets the SMTP server   
         $this->email->Username = $config["smtp_user"];                              // SMTP account username
         $this->email->Password = $config["smtp_pwd"];                            // SMTP account password
         $this->email->Port =  strlen($config["smtp_port"])>0?$config["smtp_port"]:25;  // set the SMTP port for the GMAIL server
         
         $this->email->From = "email@remetente.com.br";
         $this->email->FromName = "Nome Remetente";
      }
      
      $this->email->SetFrom($data['email_to'], $title);
      $this->email->AddReplyTo($data['email_to'], $this->title);
      
      if ($file['realupload']['tmp_name'] != '') {
         $this->email->AddAttachment($file['realupload']['tmp_name'], $file['realupload']['name']);
      }
      
      $this->email->Subject = $subject;
      
      ob_start();
         include $this->email_template;
      $body = ob_get_clean();
      
      $this->email->MsgHTML($body);
      
      if ($data['email_to']) {
         $this->email->AddAddress($data['email_to'], $title);
      } else {
         $this->email->AddAddress('email@sistema.com.br', $title);
      }
      
      //$this->email->AddBCC(EMAIL_TO, $this->title);
      //$this->email->AddBCC('email@copia.com.br', $this->title);
      
      if ($this->email->Send()) {
         return true;
      } else {
         return false;
      }
   }

}


Depois no arquivo de contato.php inicio a classe assim:

require_once('PHPMailer.php');
require_once('Contact.php');

Código:
//////////////// Função para o email ////////////////
if($_REQUEST['action']=='enviar')

   $contact = new Contact();
   
    $formulario['email_to'] = $_POST['destinatario'];  //Para:
    $formulario['email_from'] = $_POST['remetente'];  //De:
   
   /**
    * Template da mensagem
    */   
    $contact->email_template = 'modules/emailTemplate.inc.php';
   
   try {   
      $status_msg = 'enviando';
      if ($contact->SendContact($formulario, NULL, "Fale Conosco")) {
          $style = 'success';
          $status = 'true';
         unset($_POST);
         $status_msg = 'enviado';
         
      }
      
   } catch (Exception $e) {
       $style = 'error';
      $status = 'false';
      $msg = $e->getMessage();
      $status_msg = 'erro_envio';
   }
}
//////////////// Fim da Função para o email ////////////////

etocsam
Participa Pouco
Participa Pouco


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum