× Linguagem de Programação ADVPL

Perguntas Baixar anexo de email

Mais
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):



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.

Mais
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.

Mais
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

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 6 meses atrás #22403 por lalberto
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

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.

Tempo para a criação da página:0.087 segundos
Joomla templates by a4joomla