- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Baixar anexo de email
×
Linguagem de Programação ADVPL
Perguntas Baixar anexo de email
- Rstrozi
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 123
- Obrigados Recebidos: 0
12 anos 3 meses atrás #3585
por Rstrozi
Respondido por Rstrozi no tópico Re: Baixar anexo de email
Boa noite pessoal,
Após alguns testes, cheguei à seguinte solução para o problema de baixar somente um tipo de anexo (no meu caso, o interesse é pelos XMLs):
Só preciso resolver o que farei com os emails após baixa-los. Minha ideia seria move-los para outra pasta, pois preciso deles para que o programa de guarda de xmls os capture. Outra solução seria encaminhar os emails para um endereço intermediario, onde poderia deleta-los, mantendo os originais no Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo. para guarda posterior.
Após alguns testes, cheguei à seguinte solução para o problema de baixar somente um tipo de anexo (no meu caso, o interesse é pelos XMLs):
cPathTmp := "\xmlnfe\emp15\tmp\" //diretorio temporario no rootpath
cPath := "\xmlnfe\emp15\" //diretorio 'permanente' no rootpath
For w:=1 to nTotMsg
aFiles:={}
RECEIVE MAIL MESSAGE w FROM cFrom TO cTo CC cCc BCC cBcc SUBJECT cSubject BODY cBody ATTACHMENT aFiles SAVE IN (cPathTmp)
For i:=1 to len(aFiles)
If Right(aFiles[i][1],4) $ "#.xml#.XML#"
xFile := STRTRAN(lower(aFiles[i][1]),cPathTmp,cPath)
COPY FILE &aFiles[i][1] TO &xFile
FErase(aFiles[i][1])
Else
FErase(aFiles[i][1])
EndIf
Next
Next
Só preciso resolver o que farei com os emails após baixa-los. Minha ideia seria move-los para outra pasta, pois preciso deles para que o programa de guarda de xmls os capture. Outra solução seria encaminhar os emails para um endereço intermediario, onde poderia deleta-los, mantendo os originais no Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo. para guarda posterior.
Por favor Acessar ou Registrar para participar da conversa.
- Rstrozi
- Autor do Tópico
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 123
- Obrigados Recebidos: 0
12 anos 3 meses atrás #3590
por Rstrozi
Respondido por Rstrozi no tópico Re: Baixar anexo de email
Só uma observação: na verdade não baixo somente os anexos xml, mas sim, baixo tudo em um diretorio temporario e o que nao for de interesse é deletado.
Por favor Acessar ou Registrar para participar da conversa.
- wanderleyjrr
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 18
- Obrigados Recebidos: 0
10 anos 6 meses atrás #22391
por wanderleyjrr
Respondido por wanderleyjrr no tópico Re: Baixar anexo de email
Boa tarde a todos.
Luiz,
Sei que o post é antigo, mas gostaria de perguntar, preciso ler uma caixa de email e baixar o texto e não os anexos. Este exemplo, que vc menciona, pode ser usado para este fim ? Não consegui localizá-lo.
Poderia me enviar ? Fico muito agradecido.
Att,
Wanderley
Luiz,
Sei que o post é antigo, mas gostaria de perguntar, preciso ler uma caixa de email e baixar o texto e não os anexos. Este exemplo, que vc menciona, pode ser usado para este fim ? Não consegui localizá-lo.
Poderia me enviar ? Fico muito agradecido.
Att,
Wanderley
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
10 anos 6 meses atrás #22403
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Baixar anexo de email
Cara eu nunca usei, creio que consiga pegar o texto também, segue um código de exemplo ai:
#include "protheus.ch"
#Include "FONT.CH"
#include aspassimplesAp5Mail.chaspassimples
#include "topconn.ch"
#INCLUDE "COLORS.CH"
#include "rwmake.ch"
USER FUNCTION CBSMAIL() //
PRIVATE TMSGS := ""
PRIVATE NMSGS:= ""
PRIVATE cTo := ""
PRIVATE cAccount := "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."
PRIVATE cServer := "POP.XXXXXX.com.br"
PRIVATE cPassword := "XXXXXXXX"
PRIVATE lConectou := .T.
PRIVATE cBody :=""
PRIVATE cFrom:=""
PRIVATE cCc:=""
PRIVATE cBcc:=""
PRIVATE cSubject:=""
CONNECT POP SERVER cServer ACCOUNT cAccount PASSWORD cPassword RESULT lConectou
POP MESSAGE COUNT TMSGS
If !lConectou
Alert ("Erro na conecção com Servidor " + cServer)
ELSE
FOR NMSGS:=1 TO TMSGS
RECEIVE MAIL MESSAGE NMSGS FROM cFrom TO cTo CC cCc BCC cBcc SUBJECT cSubject BODY cBody ATTACHMENT cCmdEnv
/*
DBSELECTAREA("SZM")
SZM->(DBGOTOP())
Reclock("SZM",.F.)
Replace SZM->ZM_DE With cFrom
REPLACE SZM->ZM_PARA WITH cTo
REPLACE SZM->ZM_ASSUNTO WITH cSubject
REPLACE SZM->ZM_MENSS WITH cBody
//REPLACE SZM->ZM_ANEXO WITH cCmdEnv
SZM->(MSUNLOCK())
*/
NEXT
ENDIF
If lConectou
DISCONNECT POP SERVER Result lDisConectou
If !lDisConectou
Alert ("Erro ao disconectar do Servidor de e-mail - " + cServer)
EndIf
EndIf
RETURN
#include "protheus.ch"
#Include "FONT.CH"
#include aspassimplesAp5Mail.chaspassimples
#include "topconn.ch"
#INCLUDE "COLORS.CH"
#include "rwmake.ch"
USER FUNCTION CBSMAIL() //
PRIVATE TMSGS := ""
PRIVATE NMSGS:= ""
PRIVATE cTo := ""
PRIVATE cAccount := "Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo."
PRIVATE cServer := "POP.XXXXXX.com.br"
PRIVATE cPassword := "XXXXXXXX"
PRIVATE lConectou := .T.
PRIVATE cBody :=""
PRIVATE cFrom:=""
PRIVATE cCc:=""
PRIVATE cBcc:=""
PRIVATE cSubject:=""
CONNECT POP SERVER cServer ACCOUNT cAccount PASSWORD cPassword RESULT lConectou
POP MESSAGE COUNT TMSGS
If !lConectou
Alert ("Erro na conecção com Servidor " + cServer)
ELSE
FOR NMSGS:=1 TO TMSGS
RECEIVE MAIL MESSAGE NMSGS FROM cFrom TO cTo CC cCc BCC cBcc SUBJECT cSubject BODY cBody ATTACHMENT cCmdEnv
/*
DBSELECTAREA("SZM")
SZM->(DBGOTOP())
Reclock("SZM",.F.)
Replace SZM->ZM_DE With cFrom
REPLACE SZM->ZM_PARA WITH cTo
REPLACE SZM->ZM_ASSUNTO WITH cSubject
REPLACE SZM->ZM_MENSS WITH cBody
//REPLACE SZM->ZM_ANEXO WITH cCmdEnv
SZM->(MSUNLOCK())
*/
NEXT
ENDIF
If lConectou
DISCONNECT POP SERVER Result lDisConectou
If !lDisConectou
Alert ("Erro ao disconectar do Servidor de e-mail - " + cServer)
EndIf
EndIf
RETURN
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Baixar anexo de email
Tempo para a criação da página:0.087 segundos