Envio de email com anexo via blat

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

luiz antonio da silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 161
Registrado em: 21 Nov 2006 22:12
Localização: serrana-sp

Envio de email com anexo via blat

Mensagem por luiz antonio da silva »

Bom dia !

Enviei para downloads um exemplo de envio de email com anexo, corpo mht, lista de emails salva em arquivo ini,
exemplo bem simples mas que pode ser melhorado.

espero que sirva para alguém.

Link para download: Envio de e-mail com anexo via Blat

Luiz.
Editado pela última vez por Toledo em 29 Out 2013 09:20, em um total de 1 vez.
Razão: Mensagem editada para colocar o link para download.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Envio de email com anexo via blat

Mensagem por Toledo »

Luiz, segue abaixo um exemplo de como usar o Blat através da DLL, sem necessidade do arquivo blat.exe.

Código: Selecionar todos

/****************************************
* Compilar: hbmk2 Blatdll.prg -lhbwin
****************************************/
#include "hbdyn.ch"
Func Main()
Local cFile:=DiskName()+":\"+CurDir()+"\relatorio.txt",;
      vAssunto_email:="Teste envio de e-mail Blat - PCToledo",;
      vMensagem_email:="Olá, tudo bem?"+hb_eol()+;
                       "Estou fazendo um teste no envio de e-mail via Blat"+hb_eol()+hb_eol()+;
                       "Toledo"

Private x_SMTP:="smtp.mail.yahoo.com"
Private x_Porta:=587
Private x_De_mail:="forumclipper@yahoo.com.br"
Private x_Resp_para:="forumclipper@yahoo.com.br"
Private x_User:="forumclipper"
Private x_Senha:="Xxx12345"
vPara_email:="toledo@pctoledo.com.br"

SETMODE(25,80)

EnviaEmail_(x_SMTP, x_De_mail, x_Resp_para, vPara_email, vAssunto_email, vMensagem_email, cFile, x_User, x_Senha, x_Porta )

Return

*******************************************************************
Procedure EnviaEmail_(_smtp, _de, _resp, _para_, _assunto_, _emai_, _anexo_, _usuario, _senha, _port )
LOCAL nRet, cMail:=""
nDLL:=hb_LibLoad('blat.dll')

cServerSMTP :=_smtp		// endereço do servidor SMTP 
nPortSMTP :=_port		// porta SMTP
cUserAUTH :=_usuario		// login usuario SMTP
cPasswordAUTH :=_senha		// senha da conta

cFrom :=_de			// endereço de e-mail de envio
cReplyTo :=_resp		// endereço de e-mail para resposta
cCC :=''			// Com cópia para 
cBCC :=''			// Com copia oculta para 

cTO := _para_			// Lista de destinatarios - separar com virgula
cSubject :=_assunto_		// Assunto
cBodyFile :=''			// Arquivo que contem a mensagem
cBody := _emai_			// Mensagem do e-mail
cAttachListBinFile := _anexo_	// Lista de anexo - separar com virgula

cLogFile := 'BlatMail.log'		// nome do arquivo de log


cMail+= " -server " + cServerSMTP
cMail += ' -port ' + hb_ntos( nPortSMTP )
cMail += ' -u ' + cUserAUTH
cMail += ' -pw ' + cPasswordAUTH
cMail += " -f " + cFrom
cMail += ' -replyto ' + cReplyTo
IF !empt(cCC)
  cMail += " -cc " + cCC
ENDIF
IF !empt(cBCC)
  cMail += " -bcc " + cBCC
ENDIF
cMail += " -to " + cTo
cMail += ' -subject "' + cSubject + '"'
IF !empt(cBodyFile) .AND. FILE(cBodyFile)
  cMail += " -bodyF " + cBodyFile
ELSE
  cMail += ' -body "' + cBody + '"'
ENDIF
IF !empt(cAttachListBinFile)
  cMail += " -af " + cAttachListBinFile
ENDIF
cMail += ' -log ' + cLogFile               //se nao quiser gravar arquivo de log, RETIRE esta linha

cMail += ' -q '

nRet := hb_dynCall({"Send", nDLL, HB_DYN_CALLCONV_STDCALL},cMail)

hb_LibFree(nDLL)

  IF nRet == 0
    Msg_:= "E-Mail enviado com sucesso!"
  ELSE
    Msg_:= "Ocorreu um erro"
  ENDIF

  Alert(Msg_)
RETURN
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
luiz antonio da silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 161
Registrado em: 21 Nov 2006 22:12
Localização: serrana-sp

Envio de email com anexo via blat

Mensagem por luiz antonio da silva »

Olá Toledo !

Obrigado pelo código, bem mais simples.

*** Estou fazendo um limpa no HD e tem várias coisas (umas acabadas outras nem tanto...rs) que gostaria de compartilhar, que sabe, pode dar idéia para alguém.

Valew.

Luiz
HMG 3.4.4 - SQL SERVER - ORACLE
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Envio de email com anexo via blat

Mensagem por Toledo »

Bom, neste meu código não tem nada de tela gráfica, bem simples mesmo, mas foi apenas para servir de exemplo de como usar a DLL do Blat.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
luiz antonio da silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 161
Registrado em: 21 Nov 2006 22:12
Localização: serrana-sp

Envio de email com anexo via blat

Mensagem por luiz antonio da silva »

Toledo me desculpe !!

A simplicidade a que me referi foi a maneira de programar, seus códigos sempre foram de extrema importancia para mim, e se meu comentário fez entender algo diferente da "simplicidade" que comentei.....desconsidere...e por favor me desculpe.

Abraço.
Luiz
HMG 3.4.4 - SQL SERVER - ORACLE
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Envio de email com anexo via blat

Mensagem por Toledo »

Luiz, não precisa pedir desculpas nenhuma... eu entendi certinho o que você falou, eu só tentei dizer que como meu código não tem esta parte gráfica, por isto parece ser mais simples.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Envio de email com anexo via blat

Mensagem por Softwhouse »

Toledo,

Copiei o código, alterei os dados da conta de e-mail e provedor, coloquei a blat.dll 3.1.1.0 na mesma pasta e não funcionou, apresenta mensagem de que ocorreu um erro. Estou usando o Harbour 3.2.0dev (r1309241459). Será que é problema no Harbour? Compilei alguns exemplos do fórum que também não funcionaram...
Fernando
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Envio de email com anexo via blat

Mensagem por Toledo »

Fernando, veja o arquivo BlatMail.log para saber qual foi o erro que ocorreu.

E se possível, crie uma conta no YAHOO e faça um teste para saber se o problema não está no seu servidor de e-mail.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Softwhouse
Usuário Nível 3
Usuário Nível 3
Mensagens: 324
Registrado em: 07 Dez 2011 18:44
Localização: Porto Alegre/RS

Envio de email com anexo via blat

Mensagem por Softwhouse »

Toledo, o problema é o provedor. Tentei com o Ibest e deu certo, Hotmail e outros não funciona de jeito nenhum. Obrigado.
Fernando
Responder