Page 1 of 2
Problem with attachments lib tipmail
Posted: Tue Mar 13, 2012 12:53 pm
by jairpinho
Hello I have a personal problem to attach files to email using the lib tipmail can only attach a file two or more does not send the email, someone has this lib working with attachments that use more than one file
AADD(aARQUI , "c:\mapa seven.pdf" ) -> ok one files
AADD( aARQUI , "c:\mapa seven2.pdf" ) -> two files not send email
Re: Problem with attachments lib tipmail
Posted: Tue Mar 13, 2012 2:16 pm
by danielmaximiliano
Re: Problem with attachments lib tipmail
Posted: Tue Mar 13, 2012 2:38 pm
by jairpinho
Daniel ja tinha testado o exemplo mas não funciona com mais de um anexo so funciona com um anexo não entendi muito bem o parametro da função do mol /A onde eu uso este parametro
segue exemplo do meu codigo
Daniel had already tested the example but does not work with more than one attachment only works with an attachment did not quite understand the parameter of the function of mol / A where I use this parameter
following example from my code
Code: Select all
so funciona com um anexo somente
IF Form_Novo_OS.List_1.ItemCount > 0
FOR I:= 1 TO Form_Novo_OS.List_1.ItemCount
AADD(aARQUI ,Form_Novo_OS.List_1.Item(i))
NEXT
ENDIF
IF hb_SendMail(cServerIP,nPort,cFrom,aTo,aCC,,cCorpoMsg,cAssunto, aARQUI, cUser , cSenha, cPopServer, 1 , lRead, lTrace,lPopAuth, lNoAuth )
Msginfo("Email enviado com sucesso")
lEnviado := .T.
Else
Msginfo("Falha no envio de Email, Verique usuario e senha e ou Conexões de Redes")
lEnviado := .F.
Endif
Re: Problem with attachments lib tipmail
Posted: Tue Mar 13, 2012 6:38 pm
by danielmaximiliano
jairpinho wrote:
Daniel ja tinha testado o exemplo mas não funciona com mais de um anexo so funciona com um anexo não entendi muito bem o parametro da função do mol /A onde eu uso este parametro
segue exemplo do meu codigo
Daniel had already tested the example but does not work with more than one attachment only works with an attachment did not quite understand the parameter of the function of mol / A where I use this parameter
Olá Jair:
Estes são os parâmetros passados para a aplicação Sendmail.
estes são enviados a partir do console ou de outro aplicativo.
Code: Select all
if pcount() = 0
lCallSendMailWindow := .t.
else
// analyse parameters
i := 1
while i <= pcount()
cParam := upper(HB_PValue(i))
cNextParam := HB_PValue(i+1)
do case
case cParam == "/I"
// treat next argument as the name of ini file
i++
cIniFile := cNextParam
case cParam == "/A"
// next argument points attachment file
i++
cFile := cNextParam
if file(cFile)
aadd(aAttachments, cFile)
endif
// you can put your action here
// remember to change code in GetSettings function to not override these values if they are set
case cParam == "/TO"
case cParam == "/BC"
case cParam == "/BCC"
case cParam = "/SUB"
endcase
i++
enddo
endif
Re: Problem with attachments lib tipmail
Posted: Tue Mar 13, 2012 6:54 pm
by jairpinho
-- Daniel preciso enviar varios arquivos em anexo usando esta forma, mas não esta funcionado
-- Daniel need to send several files attached using this form, but it worked
so funciona com um anexo somente
IF Form_Novo_OS.List_1.ItemCount > 0
FOR I:= 1 TO Form_Novo_OS.List_1.ItemCount
AADD(aARQUI ,Form_Novo_OS.List_1.Item(i))
NEXT
ENDIF
IF hb_SendMail(cServerIP,nPort,cFrom,aTo,aCC,,cCorpoMsg,cAssunto, aARQUI, cUser , cSenha, cPopServer, 1 , lRead, lTrace,lPopAuth, lNoAuth )
Msginfo("Email enviado com sucesso")
lEnviado := .T.
Else
Msginfo("Falha no envio de Email, Verique usuario e senha e ou Conexões de Redes")
lEnviado := .F.
Endif
Re: Problem with attachments lib tipmail
Posted: Tue Mar 13, 2012 7:47 pm
by danielmaximiliano
jairpinho wrote:-- Daniel preciso enviar varios arquivos em anexo usando esta forma, mas não esta funcionado
-- Daniel need to send several files attached using this form, but it worked
so funciona com um anexo somente
IF Form_Novo_OS.List_1.ItemCount > 0
FOR I:= 1 TO Form_Novo_OS.List_1.ItemCount
AADD(aARQUI ,Form_Novo_OS.List_1.Item(i))
NEXT
ENDIF
IF hb_SendMail(cServerIP,nPort,cFrom,aTo,aCC,,cCorpoMsg,cAssunto, aARQUI, cUser , cSenha, cPopServer, 1 , lRead, lTrace,lPopAuth, lNoAuth )
Msginfo("Email enviado com sucesso")
lEnviado := .T.
Else
Msginfo("Falha no envio de Email, Verique usuario e senha e ou Conexões de Redes")
lEnviado := .F.
Endif
Jair:
verificar a quantidade de items?
Code: Select all
IF Form_Novo_OS.List_1.ItemCount > 0
MsgBox ("Items:" + str (Form_Novo_OS.List_1.ItemCount))
FOR I:= 1 TO Form_Novo_OS.List_1.ItemCount
AADD(aARQUI ,Form_Novo_OS.List_1.Item(i))
NEXT
ENDIF
mas modificar a rotina original para parecer que a necessidade ud
Code: Select all
function AddAttachment
local aFiles := {}
local i
aFiles := Getfile ( { {'All Files','*.*'} } , 'Get attachment' , 'c:\' , .t. , .t. )
for i := 1 to len(aFiles)
aAdd(aAttachments, aFiles[i])
next i
SendMail.List_Attachments.DeleteAllItems()
for i:=1 to len(aAttachments)
SendMail.List_Attachments.AddItem(aAttachments[i])
next i
return
Re: Problem with attachments lib tipmail
Posted: Tue Mar 13, 2012 8:16 pm
by danielmaximiliano
Jair:
arquivos que estão tentando enviar e-mail na mesma pasta que a aplicação Sendmail??
fazer o teste

- Greenshot_2012-03-13_17-29-13.png (251.86 KiB) Viewed 5455 times
Re: Problem with attachments lib tipmail
Posted: Wed Mar 14, 2012 1:16 am
by jairpinho
Ola daniel achei o problema
toda vez que vou enviar o email leio o arquivo em no diretorio da aplicação com o neme de config.ini onde pego o usuario e a senha para enviar o email.
BEGIN INI File("Config.ini")
GET User_Automail SECTION "Autoemail" ENTRY "User ST"
GET Senha_Automail SECTION "Autoemail" ENTRY "Senha ST"
GET Email_Automail SECTION "Autoemail" ENTRY "E-mail ST"
END INI
o que esta acontecendo quando uso o getfile com a opção change dir ele muda o local de leitura do meu arquivo .ini deixando minhas variaveis vazia por isso não envia o email com varios arquivos
tentei mudar isso fazendo desta forma mas não funcionaou
aqui deveria ler do meu diretorio da aplicação mas não le, só le no diretorio que o getfile definiu como padrão até cria um arquivo com o nome do meu neste direorio
BEGIN INI File(DiskName()+ ":\"+CurDir() + "\Config.ini")
GET User_Automail SECTION "Autoemail" ENTRY "User ST"
GET Senha_Automail SECTION "Autoemail" ENTRY "Senha ST"
GET Email_Automail SECTION "Autoemail" ENTRY "E-mail ST"
END INI
solução que encontrei foi desabilitar o opção changedir na função getfile ou ler arquivos do diretorio onde esta rodando a aplicação
aFiles := GetFile({ {"Todos Arquivos", "*.*"}, {"Arquivos", "*.*"} }, "Selecione os Arquivos",".\", lMultiSelect,.T.)
assim funciou pois não alterou a leitura do arquivo *.ini
obrigado pela ajuda Daniel se souber uma maneira melhor de como mudar isso agradeço.
Re: Problem with attachments lib tipmail
Posted: Wed Mar 14, 2012 1:44 am
by danielmaximiliano
solução que encontrei foi desabilitar o opção changedir na função getfile ou ler arquivos do diretorio onde esta rodando a aplicação
aFiles := GetFile({ {"Todos Arquivos", "*.*"}, {"Arquivos", "*.*"} }, "Selecione os Arquivos",".\", lMultiSelect,.T.)
arquivos que são enviados por e-mail gerado automaticamente pelo outro HMG aplicação? estão em algum diretório especial para ele??
Code: Select all
public cIniFile := (DiskName()+ ":\"+CurDir() + "\sendmail.ini")
funciona perfeitamente


- SendMail - Configuration, by MOL SK 2011_2012-03-13_22-38-32.png (61.87 KiB) Viewed 5440 times

- (4 no leídos) - danielmaximiliano - Yahoo! Mail - Mozilla Firefox_2012-03-13_22-40-23.png (79.07 KiB) Viewed 5440 times
Re: Problem with attachments lib tipmail
Posted: Wed Mar 14, 2012 1:53 am
by jairpinho
obrigado Daniel adicionei esta linha no programa principal de minha aplicação resolveu o problema com o changedir do get file
Code: Select all
public cIniFile := (DiskName()+ ":\"+CurDir() + "\Config.ini")