Amiguinho
Esta solução para envio de email é bem aplicada para o teu caso.
Os programas são muito pequenos e tem funcionamento muito simples.
GetMail
Baixa as mensagens uma a uma em arquivos TeXTo e desta forma bastaria analisar o código e interpretar a mensagem podendo ser apresentado dentro de campos memo.
Cliquem neste
link e baixem-no.
A sintaxe é apresentada somente digitando no prompt do DOS a palavra GETMAIL
Vejam:
GETMAIL -u
usuario@provedor.com.br -pw senha -s pop3.provedor.com.br
Blat
Talvez o mais conhecido de todos possui caracteristicas de suportar anexos e agora pode autenticar as mensagens. Peguem neste
link.
Sintaxe:
BLAT -body "Corpo da mensagem" -server smtp.ig.com.br
-to
toledo@pctoledo.com.br -f
jscrocha@terra.com.br
-subject "Assunto" -u jscrocha -pw senha -attach c:\teste.txt
SendMail
Achei o mesmo muito bom e esta contido em um executavel de 32k. Contem os recursos de anexos e autenticação. Peguem neste
link.
Sintaxe:
SendMail /smtpserver smtp.itelefonica.com.br
/from
jscrocha@terra.com.br
/subject Teste com sendmail
/body Corpo da mensagem
/smtpport 25
/attachment c:\teste.txt
/user irochinha
/password senha
Os comandos devem estar em somente uma linha.
mapisend
mapisend -u "<profile>" -p <anything> -r <recipient> -s "<subject>" -t <text file containing the message>
e.g. mapisend -u "john savill" -p anything -r
john@savilltech.com -s "Test message" -t c:\message\mail4.txt
-u Nome de quem envia
-p Senha da conta de email
-i Pede senha e usuario em prompt
-r Email Recipiente(de quem vai receber a memsagem)
-c Email de copia
-s Assunto
-m Conteudo do email
-t Texto externo anexo ao corpo da mensagem
-f Arquivo anexo externo
-v Gera resumo sobre a operação
Baixe deste
link. Cortesia de Dudu_xBase.
Com o codigo exemplo exemplificado mais a frente será fácil implementar este utilitario ao codigo e usar em seus aplicativos.
Pensando em utiliza-los em meus sistemas preparei um teste através de um pequeno aplicativo em Fivewin que pode ser entendido e re-escrito em Clipper DOS.
Codigo completo:
Code: Select all
// Testing FiveWin new Internet Outgoing mail (SMTP protocol) Class
#include "FiveWin.ch"
static oWnd
//----------------------------------------------------------------------------//
function eudora()
local oBar
DEFINE WINDOW oWnd TITLE "Gerenciador de E-Mail"
DEFINE BUTTONBAR oBar _3D OF oWnd
DEFINE BUTTON OF oBar ;
ACTION Blat( "Este e o corpo da mensagem",;
"smtp.itelefonica.com.br",;
"jscrocha@terra.com.br",;
"irochinha@itelefonica.com.br",;
"Greetings from Joe!",;
"Usuario",;
"Senha",;
"c:\drvgames.txt" ) TOOLTIP "Enviar Mail"
DEFINE BUTTON OF oBar ;
ACTION GetMail( "usuario",;
"Senha",;
"pop.sao.terra.com.br" ) TOOLTIP "Receber Mail"
DEFINE BUTTON OF oBar ;
ACTION SendMail( "smtp.itelefonica.com.br",;
"jscrocha@terra.com.br",;
"irochinha@itelefonica.com.br",;
"SendMail teste" ,;
"Este foi um teste com SendMail" ,;
25 ,;
"c:\drvgames.txt" ,;
"usuario" ,;
"Senha" )
SET MESSAGE OF oWnd TO "SoftClever" NOINSET DATE TIME KEYBOARD
ACTIVATE WINDOW oWnd
return nil
//----------------------------------------------------------------------------//
function blat( cbody ,;
cserver ,;
cto ,;
cf ,;
csubject ,;
cu ,;
cpw ,;
cattach )
BlatCMD := [ -body "] + alltrim(cbody) + ["] + ;
[ -server ] + alltrim(cserver) + ;
[ -to ] + alltrim(cto) + ;
[ -f ] + alltrim(cf) + ;
[ -subject "] + alltrim(csubject) + ["] + ;
[ -u ] + alltrim(cu) + ;
[ -pw ] + alltrim(cpw) + ;
[ -attach ] + alltrim(cattach)
cMacro="BLAT.EXE" + BlatCMD
memowrit( "put.bat", cMacro )
? cMacro
MsgRun( "Enviando a "+LOWER(cServer)+"..." )
WinExec( "put.bat", 7 )
RETURN .T.
function GetMail( cuser ,;
cpass ,;
cserver )
GetMCMD := " -u " + alltrim(cuser) + ;
" -pw " + alltrim(cpass) + ;
" -s " + alltrim(cserver)
cMacro="GETMAIL.EXE" + GetMCMD
memowrit( "get.bat", cMacro )
? cMacro
MsgRun( "Recebendo de "+LOWER(cServer)+"..." )
WinExec( "get.bat", 7 )
RETURN .T.
function SendMail( cSmtpServer ,;
cTo ,;
cFrom ,;
cSubject ,;
cBody ,;
nSmtpPort ,;
cAttachment ,;
cUser ,;
cPassword )
SendMail := " /smtpserver " + alltrim(cSmtpServer) +;
" /to " + alltrim(cTo) +;
" /from " + alltrim(cFrom) +;
" /subject " + alltrim(cSubject) +;
" /body " + alltrim(cBody) +;
" /smtpport " + str(nSmtpPort) +;
" /attachment " + alltrim(cAttachment) +;
" /user " + alltrim(cUser) +;
" /password " + alltrim(cPassword)
cMacro="SENDMAIL " + SendMail
memowrit( cMacro )
? cMacro
memowrit("sendmail.bat",cMacro)
MsgRun( "Conectando a "+LOWER(cSmtpServer)+"..." )
WinExec( cMacro, 7 )
RETURN .T.
A linha
? cMacro apenas apresenta o conteudo da linha de comando não tendo efeito nenhum no processamento.
@braços :?)