Login

Esqueci minha senha

Buscar
 
 

Resultados por :
 


Rechercher Busca avançada

Quem está conectado
5 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 5 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 71 em 19/7/2010, 11:47
Brasília
Estamos no Twitter
Nossa Comunidade
Nosso Grupo
Últimos assuntos
Top dos mais postadores
Marcos Guedes
 
hugo
 
alceu11
 
Julio
 
marcelofazan
 
mfelis
 
cabeludo
 
Tales Ruan
 
Nelson Arcas
 
marcio
 

Contagem Regressiva em tela de login

16/7/2010, 11:10 por Linghston

Ola amigos, esta é minha primeira participação neste forum e espero poder encontar aqui ajuda para ...

Comentários: 15

Gerador randomico de chave/senha VFP

28/7/2010, 10:44 por hugo

[Você precisa estar registrado e conectado para ver esta imagem.]

Creditos, codi...

Comentários: 22

Help do VFP 9 desapareceu

13/7/2010, 09:22 por hugo

Galera

tenho o visual foxpro instalado e o help funcionava legal

tenho tam...

Comentários: 26

Niver do Alceu

23/7/2010, 14:42 por Marcos Guedes

Aew, pessoal!!!
Para quem não sabe, dia 30/07 é niver do Alceu!!!

Só não irei diz...

Comentários: 32

Report com comandos de impressão @ SAY

30/7/2010, 10:49 por Julio

Novamente aqui, para esclarecer uma duvida.

Tenho um report que serve como formulario, ...

Comentários: 29

Estatísticas
Temos 926 usuários registrados
O último usuário registrado atende pelo nome de Maria Tognetti

Os nossos membros postaram um total de 8596 mensagens em 1239 assuntos

Email + PHP + VFP

Página 1 de 2 1, 2  Seguinte

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

Anexo Email + PHP + VFP

Mensagem por Marcos Guedes em 5/10/2009, 17:21

Criei uma forma diferente para enviar emails e decidi compartilhar com os colegas.
A solução consiste em utilizar um código PHP/ juntamente com o [b]VFP.

Para que a mesma funcione corretamente, você precisará ter acesso a um servidor PHP com suporte a SMTP.
Segue o passo a passo:

Antes de mais nada, crie uma página PHP e adicione o seguinte código:
Código:
<?
   $to = $_POST['emailDestinatario'];
     $subject = $_POST['assunto'];
     $html = $_POST['mensagem'];
 
     // Se quizer enviar em formato HTML
     $headers = 'MIME-Version: 1.0' . "\n";
     $headers .= 'Content-type: text/html; charset=UTF-8' . "\n";
 
     // Se houver problemas com acentos substitua a linha acima por esta abaixo:
     //$headers = "Content-type: text/html; charset=iso-8859-1\r\n"; 
 
     // Remetente
     $headers .= "From: " . $_POST['nomeRemetente'] . " <" . $_POST['emailRemetente'] . ">\r\n";
 
     if (mail($to, $subject, $html, $headers))
     {
      echo "Email enviado com sucesso !";
     }
?>
Após ter criado a página, hospede em um servidor com suporte à PHP, e verifique o link da mesma, pois será utilizado no código criado com o Fox.

Para utilizar esta página para enviar emails a partir do VFP utilize o código abaixo:
Código:
FUNCTION emailphp AS logical
   LPARAMETERS ;
      nome_remetente AS STRING,;
      email_remetente AS STRING,;
      email_destinatario AS STRING,;
      assunto AS STRING,;
      mensagem AS STRING

   LOCAL parametros AS STRING && Dados que serão lidos pela página PHP
   m.parametros = "emailDestinatario=" + m.email_destinatario + "&"
   m.parametros = m.parametros + "assunto=" + m.assunto + "&"
   m.parametros = m.parametros + "mensagem=" + m.mensagem + "&"
   m.parametros = m.parametros + "nomeRemetente=" + m.nome_remetente + "&"
   m.parametros = m.parametros + "emailRemetente=" + m.email_remetente

   loxmlhttp = CREATEOBJECT("MSXML2.XMLHTTP")
   loxmlhttp.OPEN("POST","http://url.de.sua/pagina.php",.F.)

   loxmlhttp.setrequestheader("content-type", "application/x-www-form-urlencoded")

   loxmlhttp.SEND(m.parametros)
   lcresponse = loxmlhttp.responsetext

   loxmlhttp = .NULL.
   
   RETURN ALLTRIM(m.lcresponse)="Email enviado com sucesso !"
ENDFUNC
No código acima, substitua "http://url.de.sua/pagina.php" pela URL de sua página PHP.

Para utilizar a função faça o seguinte:
Código:
LOCAL nome_remetente AS STRING
LOCAL email_remetente AS STRING
LOCAL email_destinatario AS STRING
LOCAL assunto AS STRING
LOCAL mensagem AS STRING

m.nome_remetente = "Nome do Remetente"
m.email_remetente = "email@remetente.com.br"
m.email_destinatario = "email@destinatario.com"
m.assunto = "Assunto do email"
m.mensagem = "Exemplo postado no <a href=http://forum.programacaobrasil.com>Programação Brasil</a><br/><b>Autor: </b>Marcos Guedes"

IF (emailphp(m.nome_remetente, m.email_remetente, m.email_destinatario, m.assunto, m.mensagem)) THEN
   MESSAGEBOX("Email enviado com sucesso!")
ELSE
   MESSAGEBOX("Erro ao enviar o email!")
ENDIF


Espero que este código seja útil aos colegas!
Very Happy

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Rubens em 12/3/2010, 11:31

Boa dia,
Marcos utilizei está rotina para enivar email, mas está retornando um exception
"OLE Idispatch exception code O from mdxml3.dll:" voce teve esse problema?

Obrigado

Rubens
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Marcos Guedes em 12/3/2010, 12:16

Rubens escreveu:Boa dia,
Marcos utilizei está rotina para enivar email, mas está retornando um exception
"OLE Idispatch exception code O from mdxml3.dll:" voce teve esse problema?

Obrigado
Olá, Rubens!
Você utilizou, exatamente, esta rotina, ou configurou como citei no tópico?
Para que funcione corretamente você precisa hospedar um arquivo php num servidor com SMTP configurado, e então alterar a URL modelo, na rotina, para o link de seu arquivo php.

Você fez isto?

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Rubens em 12/3/2010, 13:14

Marcos,
Correto. Eu tenho a rotina no meu servidor linux, e pelo que li nos foruns com o mesmo erro não coneguiram solucionar.
O que pode ser?

Rubens
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Marcos Guedes em 12/3/2010, 13:26

podes me enviar o link do teu arquivo PHP em Mensagem Privada?
Se estais utilizando o código sem alterações e tens o SMTP configurado corretamente no servidor, então deveria estar funcionando perfeitamente.

Obs.: Por uma questão de organização, mande-me um link de um arquivo o qual possas excluir ou renomear depois.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Rubens em 12/3/2010, 13:35

Marcos, essa e a rotina. Utilizamos phpmailer.

Código:
<?
            // chamada da classe phpmailer
 
    
            require_once('../phpmailer/class.phpmailer.php');
            // resgatando os dados passados pelo form
 
            $destino =$_POST['emailDestinatario'];
            $rementente = "almoxarifado@servidor.com.br";
            $assunto = $_POST['assunto'];
            $mensagem = $_POST['mensagem'];
            
            $mail = new PHPMailer();
    
            $mail->IsSMTP();
    
            // send via  SMTP
            $mail->Host = "servidr.com.br";
    
            //seu servidor SMTP
            $mail->SMTPAuth = true;
    
            // 'true' para autenticação
            $mail->Username = "*******";
    
            // usuário de SMTP
            $mail->Password = "*******";
            // senha de SMTP
    
                 $mail->From = $rementente;
            $mail->FromName = 'Almoxarifado';
            $mail->AddAddress("$destino",'Almoxarifado');
            //     $mail->WordWrap = 50;
    
            // Definição de quebra de linha
            $mail->IsHTML(true);
 
            // envio como HTML se 'true'
            $mail->Subject = $assunto;
            $mail->Body = "<b>$mensagem</b>";

   
            if(!$mail->Send())
            {
               echo "<script>window.alert('Mensagem não enviada'); </script>";
//               echo "Mailer Error: ";
            }
            else
            {
               echo "<script>window.alert('Mensagem enviada sucesso'); </script>";
            }     
         ?>

Rubens
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Marcos Guedes em 12/3/2010, 13:44

Rubens escreveu:Marcos, essa e a rotina. Utilizamos phpmailer.

Código:
<?
            // chamada da classe phpmailer
 
    
            require_once('../phpmailer/class.phpmailer.php');
            // resgatando os dados passados pelo form
 
            $destino =$_POST['emailDestinatario'];
            $rementente = "almoxarifado@servidor.com.br";
            $assunto = $_POST['assunto'];
            $mensagem = $_POST['mensagem'];
            
            $mail = new PHPMailer();
    
            $mail->IsSMTP();
    
            // send via  SMTP
            $mail->Host = "servidr.com.br";
    
            //seu servidor SMTP
            $mail->SMTPAuth = true;
    
            // 'true' para autenticação
            $mail->Username = "*******";
    
            // usuário de SMTP
            $mail->Password = "*******";
            // senha de SMTP
    
                 $mail->From = $rementente;
            $mail->FromName = 'Almoxarifado';
            $mail->AddAddress("$destino",'Almoxarifado');
            //     $mail->WordWrap = 50;
    
            // Definição de quebra de linha
            $mail->IsHTML(true);
 
            // envio como HTML se 'true'
            $mail->Subject = $assunto;
            $mail->Body = "<b>$mensagem</b>";

   
            if(!$mail->Send())
            {
               echo "<script>window.alert('Mensagem não enviada'); </script>";
//               echo "Mailer Error: ";
            }
            else
            {
               echo "<script>window.alert('Mensagem enviada sucesso'); </script>";
            }     
         ?>
Rubens, você utilizou este código, ou o que está postado no tópico?
Este disponibilizado não é o mesmo código da rotina que postei.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Rubens em 18/3/2010, 16:07

Funciona com PHPMiler, so estou com problema com caracteres em portugues pois tem acentos..
Mas valeu a ídéia.

Rubens
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Marcos Guedes em 18/3/2010, 17:33

Leia o código PHP em minha primeira mensagem, deste tópico.
Deixei em comentário as seguintes linhas:
Código:
// Se houver problemas com acentos substitua a linha acima por esta abaixo:
//$headers = "Content-type: text/html; charset=iso-8859-1\r\n";
Talvez resolva o teu problema com acentos.

Qualquer dúvida é só postar.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por djguina em 19/3/2010, 13:34

Marcos,

Fiz umas adapatações no código porém não sei porque sempre retorna como "Erro ao enviar o email", porém envia... se puder dar uma ajuda agradeço =)
Estou usando a classe PHPMailer.

PRG:
Código:

FUNCTION sndmailphp AS logical
    LPARAMETERS varHost AS STRING, varUserHost AS STRING, varPassHost AS STRING, mailDe AS STRING, nomeDe AS STRING, mailPara AS STRING, nomePara AS STRING, mailTitulo AS STRING, Mensagem AS STRING, mailCC AS STRING

   LOCAL parametros AS STRING && Dados que serão lidos pela página PHP
   m.parametros = "varHost=" + m.varHost + "&" && Servidor SMTP
   m.parametros = m.parametros + "varUserHost=" + m.varUserHost + "&" && Usuário SMTP
   m.parametros = m.parametros + "varPassHost=" + m.varPassHost + "&" && Senha SMTP
   m.parametros = m.parametros + "mailDe=" + m.mailDe + "&" && Email Remetente
   m.parametros = m.parametros + "nomeDe=" + m.nomeDe + "&" && Nome Remetente
   m.parametros = m.parametros + "mailPara=" + m.mailPara + "&" && Email Destinatário
   m.parametros = m.parametros + "nomePara=" + m.nomePara + "&" && Nome Destinatário
   m.parametros = m.parametros + "mailTitulo=" + m.mailTitulo + "&" && Título do Email
   m.parametros = m.parametros + "Mensagem=" + m.Mensagem + "&" && Conteúdo
   m.parametros = m.parametros + "mailCC=" + m.mailCC + "&" && Com Cópia Para

   loxmlhttp = CREATEOBJECT("MSXML2.XMLHTTP")
   loxmlhttp.OPEN("POST","URL_ARQUIVO_PHP",.F.)

   loxmlhttp.setrequestheader("content-type", "application/x-www-form-urlencoded")

   loxmlhttp.SEND(m.parametros)
   lcresponse = loxmlhttp.responsetext

   loxmlhttp = .NULL.
   RETURN ALLTRIM(m.lcresponse)="Email enviado com sucesso !"
ENDFUNC

BOTÃO:
Código:

LOCAL varHost AS STRING
LOCAL varUserHost AS STRING
LOCAL varPassHost AS STRING
LOCAL mailDe AS STRING
LOCAL nomeDe AS STRING
LOCAL mailPara AS STRING
LOCAL nomePara AS STRING
LOCAL mailTitulo AS STRING
LOCAL Mensagem AS STRING
LOCAL mailCC AS STRING

varHost = "smtp.ews.com.br"
varUserHost = "administrador@ews.com.br"
varPassHost = "minhasenha"
mailDe = "administrador@ews.com.br"
nomeDe = "Administrador"
mailPara = "fulano@cliente.com.br"
nomePara = "Fulano"
mailTitulo = "titulo do mail"
Mensagem = "Teste"
mailCC = "copia@ews.com.br"

IF sndmailphp(varHost, varUserHost, varPassHost, mailDe, nomeDe, mailPara, nomePara, mailTitulo, Mensagem, mailCC)
   MESSAGEBOX("Email enviado com sucesso!")
ELSE
   MESSAGEBOX("Erro ao enviar o email!")
ENDIF

PHP que recebe:
Código:

<?php
function sndEmail($varHost, $varUserHost, $varPassHost, $mailDe, $nomeDe, $mailPara, $nomePara, $mailTitulo, $Mensagem, $mailCC){
   include('phpmailer/class.phpmailer.php');
   $mail = new PHPMailer();
   $mail->IsSMTP();
   $mail->Host = $varHost;
   $mail->SMTPAuth = true;
   $mail->Username = $varUserHost;
   $mail->Password = $varPassHost;
   $mail->From = $mailDe;
   $mail->FromName = $nomeDe;
   $mail->AddAddress($mailPara, $nomePara);
   $mail->AddBCC($mailCC, $mailDe);
   $mail->WordWrap = 50;
   $mail->IsHTML(true);
   $mail->AddReplyTo("$mailDe","$nomeDe");
   $mail->Subject = $mailTitulo;
   $body=$Mensagem;
   $body=eregi_replace("[\]",'',$body);
   $mail->MsgHTML($body);
   $mail->Body = $body;
   if(!$mail->Send()){
      return 1;
      exit;
   }
}
if ($_POST['varHost']){
   if ($_POST['varUserHost']){
      if ($_POST['varPassHost']){
         if ($_POST['mailDe']){
            if ($_POST['nomeDe']){
               if ($_POST['mailPara']){
                  if ($_POST['nomePara']){
                     if ($_POST['mailTitulo']){
                        if ($_POST['Mensagem']){
                           if ($_POST['mailCC']){
                              $varHost = ($_POST['varHost']);
                              $varUserHost = ($_POST['varUserHost']);
                              $varPassHost = ($_POST['varPassHost']);
                              $mailDe = ($_POST['mailDe']);
                              $nomeDe = ($_POST['nomeDe']);
                              $mailPara = ($_POST['mailPara']);
                              $nomePara = ($_POST['nomePara']);
                              $mailTitulo = ($_POST['mailTitulo']);
                              $Mensagem = ($_POST['Mensagem']);
                              $mailCC = ($_POST['mailCC']);
                              if (sndEmail($varHost, $varUserHost, $varPassHost, $mailDe, $nomeDe, $mailPara, $nomePara, $mailTitulo, $Mensagem, $mailCC)==0){;
                                 echo 'Email enviado com sucesso' ;
                              }
                           }
                        }
                     }
                  }
               }
            }
         }
      }
   }
}   
?>


Última edição por Marcos Guedes em 19/3/2010, 14:27, editado 1 vezes (Razão : Url retirada!)

djguina
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Rubens em 19/3/2010, 15:29

Caro, Djguina use use form php do phpmailer. Para mim funciona e meu unico problema é em relação aos acentos que não consegui corrigir.

Código:
<?
            // chamada da classe phpmailer
 
              require_once('../phpmailer/class.phpmailer.php');
            // resgatando os dados passados pelo form
            
            $destino =$_POST['emailDestinatario'];
            $rementente = "almoxarifado@***.com.br";
            $assunto = $_POST['assunto'];
            $mensagem = $_POST['mensagem'];
            
            $mail = new PHPMailer();
    
            $mail->IsSMTP();
    
            // send via  SMTP
            $mail->Host = "***.com.br.br";
    
            //seu servidor SMTP
            $mail->SMTPAuth = true;
    
            // 'true' para autenticação
            $mail->Username = "almoxarifado";
    
            // usuário de SMTP
            $mail->Password = "**";
            // senha de SMTP

   
         
              $mail->From = $rementente;
            $mail->FromName = 'Almoxarifado Central do LIM';
            $mail->AddAddress("$destino",'');
//            $mail->WordWrap = 50;

    
            // Definição de quebra de linha
            $mail->IsHTML(true);
            $mail->CharSet = 'iso-8859-1';
   
            // envio como HTML se 'true'
            $mail->Subject = $assunto;
            $mail->Body = "<b>$mensagem</b>";

   
            if(!$mail->Send())
            {
               echo "<script>window.alert('Mensagem não enviada'); </script>";
//               echo "Mailer Error: ";
            }
            else
            {
               echo "<script>window.alert('Mensagem enviada sucesso'); </script>";
            }     
         ?>

Rubens
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por djguina em 19/3/2010, 15:42

Rubens,

Não estou tendo problemas com esse fonte que uso, pois uso exatamente igual em meus sites PHP, portanto estou criando uma classe única para tudo.

Minha única dúvida é mesmo com relação ao retorno do PHP ao VFP.

No seu caso, acho que você deveria alterar o parâmetro de Charset. Eu utilizo o UTF-8 sempre, e não tenho problemas nenhum com acentuação.

Exemplo usando suas variáveis:
Código:

$assunto = utf8_decode($_POST['assunto']);
$mensagem = utf8_decode($_POST['mensagem']);

Abraços.

djguina
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Marcos Guedes em 19/3/2010, 15:45

Djguina, irei analisar o teu código hoje a noite, quando chegar em casa.
Obs.: Removi o link do exemplo para evitar problemas futuros.


Rubens, O servidor em que estais hospedando o arquivo php é windows, ou linux?
Tente a dica de utilizar o utf8_encode como citou, o Djguina.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por djguina em 19/3/2010, 15:48

=D esqueci de link kkkkkkkkk valew Marcos...

ah; é utf8_decode() =D

djguina
Começando a Participar
Começando a Participar


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Anexo Re: Email + PHP + VFP

Mensagem por Marcos Guedes em 19/3/2010, 15:54

djguina escreveu:=D esqueci de link kkkkkkkkk valew Marcos...

ah; é utf8_decode() =D
ops!
valeu a observação!
utf8_encode é para o retorno.

_________________
Marcos Guedes - Programador e desenvolvedor Web.

Convidado, seja nosso seguidor no Twitter:
twitter.com/programacaobras

Marcos Guedes
Webmaster
Webmaster


Ver perfil do usuário

Voltar ao Topo Ir em baixo

Página 1 de 2 1, 2  Seguinte

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