Email pelo Harbour

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Email pelo Harbour

Mensagem por sygecom »

Olá vagucs,
Testou a HBBLAT do Harbour do SVN ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
vagucs
Membro Master
Membro Master
Mensagens: 1480
Registrado em: 10 Jul 2004 10:45
Localização: Ipanema - MG
Contato:

Re: Email pelo Harbour

Mensagem por vagucs »

se tiver os fontes pode ser compilado para xharbour sem problemas.

Pegue recenemente um exmeplo antigo do harbour, para se gerar uma DLL em harbour e usar ela em delphi, até isto que é um caso mais critico funcionou. com certeza a lib com fones pode ser compilada.
Sem mais
Wagner Nunes
www.vagucs.com.br
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Email pelo Harbour

Mensagem por sygecom »

No caso da hbblat só consta na Contrib do Harbour do SVN, agora se for compilar os fosntes da BLAT do SourceForge, ai é outros 500, ai já foge meus conhecimentos, mas os fontes do BLAT estão no SourceForge, é só baixar e se o vagner diz que é possivel quem sou eu para dizer que não. Só sei que hbblat somente no harbour até agora, e funcionando muitooooo bem.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Email pelo Harbour

Mensagem por Maligno »

vagucs escreveu:É isso mesmo maligno, porem nao gera o email em formato html no lado cliente, mesmo a flag do conteudo estando em text/html.
Mas se o corpo do eMail tem essas características, o destinatário receberá um eMail em HTML sim. O programa de envio, seja ele qual for não tem um método diferente de transmissão para texto ou HTML. A diferença está apenas no conteúdo do eMail. O "pulo-do-gato" está só na montagem do eMail.

Hoje eu trabalho mais com POP3. Mas já mexi bastante com SMTP em C++, no passado. Se quiser gerar um eMail desses e me enviar, posso tentar descobrir onde a montagem está falhando.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
chrissoares
Usuário Nível 1
Usuário Nível 1
Mensagens: 45
Registrado em: 23 Dez 2009 14:35
Localização: Belo Horizonte/MG
Contato:

Re: Email pelo Harbour

Mensagem por chrissoares »

Boa noite a todos,

Estou tentando criar uma rotina para envio de emails pelo meu sistema em xHarbour. Mas na hora de compilar informa que não conhece as funções de email, ocorre os seguintes erros:

Error: Unresolved external '_HB_FUN_TIPMAIL' referenced from D:\SISTEMAS\ESPECIAL\WSOFT\CP_UPT.OBJ
Error: Unresolved external '_HB_FUN_TIPCLIENTSMTP' referenced from D:\SISTEMAS\ESPECIAL\WSOFT\CP_UPT.OBJ

Meu código é:

Código: Selecionar todos

procedure cp_upt

	local	nLin,;
			nCol,;
			nAlt	:= 10,;
			nLar	:= 50,;
			nN,;
			lAlt	:= TRUE
	
	local	cPop	:= space(50),;
			cSmtp	:= space(50),;
			cUser	:= space(50),;
			cPass	:= space(50)
	
	local	cEmailDest	:= space(50),;
			cEmailOrig	:= space(50),;
			cEmailAssu	:= space(50),;
			cEmailBody
			
	sbtt("Teste de Novas Funcionalidades do Cash Pro Manager")
	while TRUE
		FazJanela(nAlt,nLar,"Envio de Email")
		nLin := row()
		nCol := col()
	
		nN++
		@ nLin+nN, nCol say "Endere‡o POP..";
			get sPop;
			picture "@S30";
			when(Rodape("Informe o *endere‡o do *servidor *POP3 para seu *Email" ));
			valid(SaiValid() .or. !empty(cPop))

		nN++
		@ nLin+nN, nCol say "Endere‡o SMTP.";
			get sPop;
			picture "@S30";
			when(Rodape("Informe o *endere‡o do *servidor de Envios (*SMTP) para seu *Email" ));
			valid(SaiValid() .or. !empty(cPop))

		nN++
		@ nLin+nN, nCol say "Seu Email.";
			get sPop;
			picture "@S30";
			when(Rodape("Informe o seu endere‡o de Email" ));
			valid(SaiValid() .or. !empty(cPop))

		nN++
		@ nLin+nN, nCol say "Nome de Usu rio.";
			get sPop;
			picture "@S30";
			when(Rodape("Informe o *Nome de Usu rio do seu Email" ));
			valid(SaiValid() .or. !empty(cPop))

		nN++
		@ nLin+nN, nCol say "Informe a *Senha do seu Email.";
			get sPop;
			picture "@S30";
			when(Rodape("Informe o *endere‡o do *servidor de Envios (*SMTP) para seu *Email" ));
			valid(SaiValid() .or. !empty(cPop))

		nN++
		@ nLin+nN, nCol say "Para.";
			get sPop;
			picture "@S30";
			when(Rodape("Informe o endere‡o do email do destinat rio da sua mensagem." ));
			valid(SaiValid() .or. !empty(cPop))

		nN++
		@ nLin+nN, nCol say "Assunto";
			get sPop;
			picture "@S30";
			when(Rodape("Informe o *endere‡o do *servidor de Envios (*SMTP) para seu *Email" ));
			valid(SaiValid() .or. !empty(cPop))
	
		nN++
		@ nLin+nN, nCol say "Mensagem.";
			get sPop;
			picture "@S40";
			when(Rodape("Mensagem do Email" ));
			valid(SaiValid() .or. !empty(cPop))
		
		if lAlt
			Read
		else
			clear gets
			Rodape("Pressione *F2 para *Alterar os Dados ou *F12 para *Enviar o *EMail - *Esc para Sair")
			SbKy()			
		endif
		
		do case
			case LastKey() = K_ESC
				exit
			case LastKey() = K_F2
				Loop
			case LastKey() = K_F12
				EnviaEmail()
		endcase
		loop
	enddo
return

function EnviaEmail(cSmtpServer, cUser, cSenha, cDe, cPara, cAssunto, cCorpo, cArq)

	local 	oSmpt,;
			oEmail
	
	oEmail := TIpMail():new()
	oEmail:setHeader(cAssunto, cDe, cPara)
	oEmail:setBody(cCorpo)
	if !Empty(cArq)
		oEmail:attachFile(cArq)
	endif
	
	oSmtp:= TIpClientSmtp():new(cSmtpServer)
	
	if oSmtp:open()
		oSmtp:sendMail(oEmail)
		oSmtp:close()
		ErrorMessage("Email Enviado!*")
	else
		ErrorMessage("Erro ao se conectar ao servidor SMTP!*")
	endif

	
return
	
Alguem tem alguma dica para me passar ? Estou me orientando pelo Guia de Referência do xHarbour.

Abraços!
Christiano R. Soares
Analista Desenvolvedor
www.bhdados.com.br

'Tudo o que fizerem, façam de todo o coração, como para o Senhor, e não para os homens, sabendo que receberão do Senhor a recompensa da herança. É a Cristo, o Senhor, que vocês estão servindo. '
Colossenses 3:23-24
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Email pelo Harbour

Mensagem por sygecom »

Link a LIB TIP.LIB

E quando tiver uma duvida abra um novo tópico, Obrigado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: Email pelo Harbour

Mensagem por alaminojunior »

Depois de descobrir sem querer que o ACBrNFeMonitor enviava os email´s para os clientes usando a porta 25 com servidor Gmail, fiz um teste com o meu programa em xHarbour e o resultado foi que os email´s chegaram ao destino.
Eu sempre testei com as portas 465 e 587 e nunca ía.
Claro que com a porta 25 é sem SSL, mas ...

Código: Selecionar todos

Function envia_email_pos
local cSubject  := hb_oemtoansi("PàS VENDA - ")+usuario
local        aTo:= { endereco@provedor.com.br }
local cServerIp := smtp.gmail.com
local cFrom     := fulanodetal@gmail.com
local cUser     := fulanodetal@gmail.com
local cMsg      := memoread("carta1.txt")
cPass           := alltrim(cdpar000->mpswd)
porta           := 25
pop3            := imap.gmail.com:993
if hb_SendMail(cServerIP,porta,cFrom,aTo,,,cMsg,cSubject,,cUser,cPass,pop3,1,.F.,.T.,.T.,.F.)=.T.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: Email pelo Harbour

Mensagem por rochinha »

Amiguinho,

Caso ajude veja também aqui mais informações sobre o uso de portas.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
alaminojunior
Colaborador
Colaborador
Mensagens: 1717
Registrado em: 16 Dez 2005 21:26
Localização: Ubatuba - SP

Re: Email pelo Harbour

Mensagem por alaminojunior »

Interessante sim.
Vou precisar disso logo logo.
Obrigado pela dica.
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar do usuário
momente
Usuário Nível 3
Usuário Nível 3
Mensagens: 496
Registrado em: 03 Mar 2005 11:53
Localização: São Carlos-SP
Contato:

Re: Email pelo Harbour

Mensagem por momente »

Amigos,

Estou tentando utilizar esta função de envio de email (MiniGUI Ext./Harbour) esta apresentando o erro abaixo:

Executando: ILINK32 @B32.BC
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external 'WSAIoctl' referenced from C:\MINIGUI\HARBOUR\LIB\HBRTL.LIB|hbsocket

Oque estaria faltando no meu projeto?

Abs
Rogerio L. Momenté
Nada é tão perfeito que não possamos melhorar.
Nunca se explique. Seus amigos não precisam e seus inimigos não vão acreditar.
www.looksystem.com.br
Avatar do usuário
Ale SB
Usuário Nível 3
Usuário Nível 3
Mensagens: 201
Registrado em: 20 Jul 2004 17:30
Localização: Campo Grande / MS

Re: Email pelo Harbour

Mensagem por Ale SB »

Momente...

Add ao seu projeto a Lib ws2_32.lib...ela..esta na pasta do Bcc.

@braços Ale
Imagemr]
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: Email pelo Harbour

Mensagem por fladimir »

Olá Pessoal, eu consiguia mandar e-mail pelo xHarbour normalmente, pelo Harbour tb esta mandando, mas qdo era no xharbour eu recebia mais e-mail agora com o Harbour recebo bem pouco, como se não estivesse mandando, mas nos meus testes vai normalmente....

Eu quero testar o HBBLAT.lib q alguns colegas mencionaram q trabalha legal no Harbour, eu peguei o código exemplo da Contrib e modifiquei, mas não consigo testar pois na hora de compilar esta apresentando a mensagem:

Código: Selecionar todos

... imm32.lib msimg32.lib wininet.lib hbpcre.lib hbzlib.lib hbblat.lib(blatwrp.obj) : error LNK2019: unresolved external symbol _cSend referenced in function _HB_FUN_HB_BLATSEND
teste.exe : fatal error LNK1120: 1 unresolved externals
hbmk2: Error: Running linker. 1120
E já olhei no fonte (mesmo da contrib) e não tem _cSend

Alguém já passou por isso?

Sds.
Sucesso!!! :)Pos
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Email pelo Harbour

Mensagem por sygecom »

Olá Fladimir,
Tem que gerar a LIB da DLL e linkar junto com seu sistema, pegue a DLL do BLAT gera com o seguinte comando:
implib -a blat.lib blat.dll
Esse comando é para usar com BCC, e o BLAT com os comandos estão apenas disponíveis no Harbour.
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Laudelino Scarmagnani
Usuário Nível 3
Usuário Nível 3
Mensagens: 303
Registrado em: 07 Fev 2007 10:54

Re: Email pelo Harbour

Mensagem por Laudelino Scarmagnani »

Pessoal,
pus o seguinte codigo
Function envia_email(arq) // arq é o arquivo para anexar

local cSubject := email_assu // assunto é o assunto
local aTo:= { email_dest } // destino pode ser uma array com os destinatários
local cServerIp := alltrim(cServ) // servidor smtp
local cFrom := alltrim(cDe) // remetente
local cUser := alltrim(cDe) // remetente
local cMsg := cAssun // corpo do email
cPass := SPACE(1) //:= alltrim(cdpar000->mpswd) // senha
porta := 25 //val(25) // porta usada para transmissão, geralmente a 25
pop3 := 'pop.brtdata.com.br' ///alltrim(cdpar->mpop3) // servidor pop
aarq:= {}
aadd(aarq,arq) // note que vc pode enviar uma array com vários arquivos para anexar

if =posthilit>hb_SendMail</SPAN>(cServerIP,porta,cFrom,aTo,,,cMsg,cSubject,,cUser,cPass,pop3,1,.F.,.T.,.T.,.F.)=.T.

retorna:
ERROR E0030 Syntax error: "syntax error at '/'"
Laudelino
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Email pelo Harbour

Mensagem por sygecom »

Olá Laudelino,
Seu código está errado, falta um ENDIF e a condição na linha do HB_SENDMAIL está errada. Veja que tem um </SPAM> no meio do comando, além do que tem IF= isso está errado.
Tente substituir essa parte do códipo por essa abaixo:

Código: Selecionar todos

if hb_SendMail(cServerIP,porta,cFrom,aTo,,,cMsg,cSubject,,cUser,cPass,pop3,1,.F.,.T.,.T.,.F.)=.T.
   alert('enviou com sucesso')
endif
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Responder