Página 2 de 9

Re: Email pelo Harbour

Enviado: 12 Mai 2009 14:44
por sygecom
Olá vagucs,
Testou a HBBLAT do Harbour do SVN ?

Re: Email pelo Harbour

Enviado: 12 Mai 2009 14:59
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.

Re: Email pelo Harbour

Enviado: 12 Mai 2009 15:19
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.

Re: Email pelo Harbour

Enviado: 12 Mai 2009 17:20
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.

Re: Email pelo Harbour

Enviado: 23 Mar 2010 18:26
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!

Re: Email pelo Harbour

Enviado: 23 Mar 2010 21:19
por sygecom
Link a LIB TIP.LIB

E quando tiver uma duvida abra um novo tópico, Obrigado

Re: Email pelo Harbour

Enviado: 16 Jun 2010 15:38
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.

Re: Email pelo Harbour

Enviado: 13 Jul 2010 19:17
por rochinha
Amiguinho,

Caso ajude veja também aqui mais informações sobre o uso de portas.

Re: Email pelo Harbour

Enviado: 13 Jul 2010 19:57
por alaminojunior
Interessante sim.
Vou precisar disso logo logo.
Obrigado pela dica.

Re: Email pelo Harbour

Enviado: 26 Ago 2010 11:02
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

Re: Email pelo Harbour

Enviado: 27 Ago 2010 02:08
por Ale SB
Momente...

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

@braços Ale

Re: Email pelo Harbour

Enviado: 27 Ago 2010 09:29
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

Re: Email pelo Harbour

Enviado: 06 Set 2010 11:24
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.

Re: Email pelo Harbour

Enviado: 11 Fev 2011 20:32
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

Re: Email pelo Harbour

Enviado: 11 Fev 2011 22:20
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