aferra Posted October 15, 2013 Report Share Posted October 15, 2013 Bom dia. Como vcs estão fazendo esse função? utilizando CDO as vezes me retorna erro e depois não envia mais, precisa reiniciar a maquina ou somente sair do sistema e entrar novamente, mas não deveria ser assim. Segue como estou fazendo. TRY oCfg := CREATEOBJECT( "CDO.Configuration" ) WITH OBJECT oCfg:Fields :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ):Value := cSmtp :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ):Value := 25 :Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ):Value := 2 :Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := .T. :Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ):Value := .F. :Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ):Value := cEmail :Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ):Value := cSenha :Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") :Value = 30 :Update() END WITH CATCH oError MsgInfo( "Não Foi possível Enviar o e-Mail!" +CRLF+ ; "Error: " + Transform(oError:GenCode, nil) + ";" +CRLF+ ; "SubC: " + Transform(oError:SubCode, nil) + ";" +CRLF+ ; "OSCode: " + Transform(oError:OsCode, nil) + ";" +CRLF+ ; "SubSystem: " + Transform(oError:SubSystem, nil) + ";" +CRLF+ ; "Mensaje: " + oError:Description, "CDO.Configuração" ) END TRY oMsg := CREATEOBJECT ( "CDO.Message" ) WITH OBJECT oMsg :Configuration = oCfg :From = CHR(34) + cEmpApe + CHR(34)+ cEmail :To = cTodosEmail :Subject = "Envio Automático da Tabela" :MDNRequested = .F. :TextBody = cTexto :AddAttachment(cArquivoAnexo) :Send() END WITH MsgInfo("Mensagem Enviada com Sucesso!","Atençao") CATCH oError MsgInfo( "Não Foi possível Enviar o e-Mail!" +CRLF+ ; "Error: " + Transform(oError:GenCode, nil) + ";" +CRLF+ ; "SubC: " + Transform(oError:SubCode, nil) + ";" +CRLF+ ; "OSCode: " + Transform(oError:OsCode, nil) + ";" +CRLF+ ; "SubSystem: " + Transform(oError:SubSystem, nil) + ";" +CRLF+ ; "Mensaje: " + oError:Description, "CDO.Message" ) END TRY Quote Link to comment Share on other sites More sharing options...
Eduardo Bilato Posted October 15, 2013 Report Share Posted October 15, 2013 Bom dia Alessandro Já tentou utilizar a classe TMail ? Aqui onde trabalho, utilizamos esta classe e( até onde sei ) nunca tivemos um problema desse tipo Se for o caso, dê uma olhada também nos samples, lá terá os arquivos tpop3.prg e testpop3.prg que também são interessantes, pode ser que te ajudem de alguma forma Quote Link to comment Share on other sites More sharing options...
aferra Posted October 15, 2013 Author Report Share Posted October 15, 2013 vlw Eduardo...irei ver essa classe quem sabe resolve, o que percebi nos testes é que a quantidade de email interfere no envio...vamos aos testes ... Quote Link to comment Share on other sites More sharing options...
kapiaba Posted October 15, 2013 Report Share Posted October 15, 2013 Usamos a RMAIL.PRG do Ricardo Marques e funciona a 1000. FUNCTION Config_Mail(_cUser,cPass,_cRemt,cDest, cCC, cCCO, cTxt, cSubject) LOCAL lRet := .F., nConta, lExiste, cAlias, oDlg, cMsg, cTexto, oEnviar LOCAL oCfg, oError, oDlgEnvia, oBrush, oFont, oFnt, oGroup LOCAL cServPOP3 := aServs[nServ][1] //--> SERVIDOR POP3 - "@servidor.com.br" LOCAL cServSMTP := aServs[nServ][2] //--> SERVIDOR SMTP - "smtp.servidor.com.br" LOCAL nPort := aServs[nServ][3] LOCAL lAut := .T. LOCAL lSSL := aServs[nServ][4] PUBLIC NewAnexo, lNewAnexoVemdaNFe, lVoltaVariosEmails, ; lEnvAutoVariosEmails, lLigaBtnAuto // Envia o email IF Empty( cPass ) .OR. ; Empty( _cRemt ) .OR. ; ( Empty( cDest ) .AND. ; Empty( cCC ) .AND. ; Empty( cCCO ) ) MsgStop( OemToAnsi( "Preencha Todos os Campos " )+CRLF+ ; OemToAnsi( "Verifique o Remetente. " )+CRLF+ ; OemToAnsi( "Verifique o Destin rio. " ), ; OemToAnsi( "Aten‡Æo, Falha no Envio. " ) ) RETURN( .F. ) ELSE /* // era assim - nao e + cUser := ALLTRIM( _cUser ) + aDomin[nServ] cRemt := ALLTRIM( _cRemt ) + aDomin[nServ] */ cUser := ALLTRIM( _cUser ) + ALLTRIM( cServPOP3 ) cRemt := ALLTRIM( _cRemt ) + ALLTRIM( cServPOP3 ) ENDIF TRY oCfg := CREATEOBJECT( "CDO.Configuration" ) WITH OBJECT oCfg:Fields :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserver" ):Value := cServSMTP // Servidor SMTP :Item( "http://schemas.microsoft.com/cdo/configuration/smtpserverport" ):Value := nPort :Item( "http://schemas.microsoft.com/cdo/configuration/sendusing" ):Value := 2 :Item( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" ):Value := lAut :Item( "http://schemas.microsoft.com/cdo/configuration/smtpusessl" ):Value := lSSL :Item( "http://schemas.microsoft.com/cdo/configuration/sendusername" ):Value := cUser :Item( "http://schemas.microsoft.com/cdo/configuration/sendpassword" ):Value := cPass :Update() END WITH lRet := .T. CATCH oError MsgInfo( "Não Foi Possível Enviar o E-Mail!" +CRLF+ ; "Verifique o Remetente " +CRLF+ ; "Verifique o Destinatário " +CRLF+ ; "Error: " + Transform(oError:GenCode, nil) + ";" +CRLF+ ; "SubC: " + Transform(oError:SubCode, nil) + ";" +CRLF+ ; "OSCode: " + Transform(oError:OsCode, nil) + ";" +CRLF+ ; "SubSystem: " + Transform(oError:SubSystem, nil) + ";" +CRLF+ ; "Mensajem: " + oError:Description, "Atenção " ) END //--> FIM DAS CONFIGURACOES. IF lRet IF lNewAnexoVemdaNFe // VEM DA NF-E, ENVIAR EMAIL +- LINHA 14192/200 IF LEN( NewAnexo ) >= 1 // ? [TEM ANEXO] cTexto := cSubject MsgRun( "Email com Anexo da "+ALLTRIM( cTexto ), ; "Favor Esperar, Pode Demorar um Pouco - "+ ; "Tentando Enviar Email - Não Tecle <ESC>", ; { || lRet := Envia_Mail(oCfg, cRemt, cDest, cCC, cCCO, cTxt, cSubject) } ) ELSE // ? [NAO TEM AXEXO] cTexto := cSubject MsgRun( "Email Sem Anexo da "+ALLTRIM( cTexto ), ; "Favor Esperar, Pode Demorar um Pouco - "+ ; "Tentando Enviar Email - Não Tecle <ESC> ", ; { || lRet := Envia_Mail(oCfg, cRemt, cDest, cCC, cCCO, cTxt, cSubject) } ) ENDIF ELSE // VEM DAQUI MESMO: RMAIL.PRG - INICIO IF LEN( aAttach ) >= 1 // ? [TEM ANEXO] MsgRun( "Tentando Enviar o Email com Anexo(s) ", ; "Favor Esperar, Pode Demorar! ", ; { || lRet := Envia_Mail(oCfg, cRemt, cDest, cCC, cCCO, cTxt, cSubject) } ) ELSE // ? [NAO TEM AXEXO] // Era assim //lRet := Envia_Mail(oCfg,cRemt,cDest, cCC, cCCO, cTxt, cSubject) MsgRun( "Tentando Enviar o Email sem Anexo(s) ", ; "Favor Esperar, Pode Demorar! ", ; { || lRet := Envia_Mail(oCfg, cRemt, cDest, cCC, cCCO, cTxt, cSubject) } ) ENDIF ENDIF ENDIF RETURN( lRet ) FUNCTION Envia_Mail( oCfg, cFROM, cTo, cCC, cBCC, cMsg, cSubject ) LOCAL cToken, lRet := .F. LOCAL oIco, oFnt, oFont, oDlgConf, oConfigura, oSaida, IDCor, oGroup, TRAB LOCAL aGet := ARRAY(10), oScreenShot, oBmpEmail, lAppend, DeOndeVem PUBLIC lNewAnexoVemdaNFe cTo := Destinatarios( cTo ) //-> PARA cCC := Destinatarios( cCC ) //-> COM COPIA cBCC := Destinatarios( cBCC ) //-> COM COPIA OCULTA TRY oMsg := CREATEOBJECT ( "CDO.Message" ) WITH OBJECT oMsg :Configuration = oCfg :FROM = cFROM :To = cTo :CC = cCC :BCC = cBCC :Subject = cSubject :TextBody = cMsg IF lNewAnexoVemdaNFe // VEM DA NF-E, ENVIAR EMAIL +- LINHA 14192/200 FOR x := 1 To Len( NewAnexo ) // Anexos dos Email aqui - NF-e SYSREFRESH() IF NewAnexo[x] <> NIL :AddAttachment(ALLTRIM(NewAnexo[x])) ENDIF NEXT // Para Incorporar uma imagem no corpo do email. 26/03/2013 // Se precisar, ligar e criar o pegador de .bmp/jpg // http://alanart.net/fivewin/index.php?/topic/20914-imagem-no-corpo-do-email/ /* :HTMLBody = "<p><img src='cid:id_imagen10'></p>" +"<p>A Imagem Acima Esta Incorporada a Mensajem.</p>" loBP:=:AddRelatedBodyPart("c:\plenocbx\silco.bmp", "id_imagen10", 1) WITH OBJECT loBP:Fields :Item("urn:schemas:mailheader:Content-ID") = "id_imagen10" :Update() END WITH */ // Solicitando confirmación de lectura // Assim funcionou.. /* IF IPFIXO->IPFIXO3 = UPPER[S] :Fields( "urn:schemas:mailheader:disposition-notification-to" ):Value := cFrom :Fields:UpDate() //cFrom=Conta de saida. Quem envia o email ENDIF */ SELECT IPFIXO GOTO 1 // Solicitando confirmación de lectura // Assim funcionou.. IF IPFIXO3 = "S" // pede confirmacao do envio do email :Fields( "urn:schemas:mailheader:disposition-notification-to" ):Value := cFrom :Fields:UpDate() //cFrom=Conta de saida. Quem envia o email ENDIF SELECT( DbServidor:cAlias ) ELSE // VEM DAQUI MESMO - RMAIL.PRG - INICIO FOR x := 1 To Len( aAttach ) // Anexos dos Email aqui - LOCAL SYSREFRESH() IF aAttach[x] <> NIL :AddAttachment(ALLTRIM(aAttach[x])) ENDIF NEXT // Para Incorporar uma imagem no corpo do email. 26/03/2013 // Se precisar, ligar e criar o pegador de .bmp/jpg /* :HTMLBody = "<p><img src='cid:id_imagen10'></p>" +"<p>A Imagem Acima Esta Incorporada a Mensajem.</p>" loBP:=:AddRelatedBodyPart("c:\plenocbx\silco.bmp", "id_imagen10", 1) WITH OBJECT loBP:Fields :Item("urn:schemas:mailheader:Content-ID") = "id_imagen10" :Update() END WITH */ SELECT IPFIXO GOTO 1 // Solicitando confirmación de lectura // Assim funcionou.. IF IPFIXO3 = "S" :Fields( "urn:schemas:mailheader:disposition-notification-to" ):Value := cFrom :Fields:UpDate() //cFrom=Conta de saida. Quem envia o email ENDIF SELECT( DbServidor:cAlias ) ENDIF :Send() END WITH lRet := .T. CATCH IF lVemdeVariosEmails .AND. ; // := .F. // Para Checar Status do Email se Errado lTemEmaiLErrado // := .F. MsgStop( OemToAnsi( "ATEN€ÇO USUµRIO: " )+CRLF+; OemToAnsi( "O PROGRAMA Jµ NÇO AVISOU QUE TEM EMAIL" )+CRLF+; OemToAnsi( "ERRADO NO CADASTRO DE CLIENTES? " )+CRLF+; OemToAnsi( "RETORNE PARA A LISTBOX DOS EMAILS E " )+CRLF+; OemToAnsi( "ANOTE OS CLIENTES COM EMAILS ERRADOS. " )+CRLF+; OemToAnsi( "SAIA DA NOTA FISCAL ELETRâNICA E ENTRE" )+CRLF+; OemToAnsi( "NO PLENO E CORRIJA OS EMAILS COM ERRO." )+CRLF+; OemToAnsi( "PARA IMPRIMIR UMA LISTAGEM DOS EMAILS " )+CRLF+; OemToAnsi( "DOS CLIENTES, ENTRE NO BOTÇO: " )+CRLF+; OemToAnsi( "<Alterar Email do Cliente> e Imprima. " ), ; OemToAnsi( "Cadastro de Clientes Com Email Errado." ) ) ELSE IF .NOT. IsInternet() MsgStop( OemToAnsi( "ATEN€ÇO USUµRIO: NÇO Hµ CONEXÇO COM A INTERNET " )+CRLF+; OemToAnsi( "SAIA DO PROGRAMA E VERIFIQUE SUAS CONEXåES " )+CRLF+; OemToAnsi( "DE INTERNET. ENQUANTO PERMANECER ESTA MENSAGEM " )+CRLF+; OemToAnsi( "NÇO TENTE ENVIAR NADA VIA INTERNET. " )+CRLF+; OemtoAnsi( "FALHA NO MODEM DE INTERNET, NÇO ESTµ ATIVO. " )+CRLF+; OemToAnsi( "VERIFIQUE SUAS CONEXåES DE INTERNET. ERRO!" ), ; OemToAnsi( "ALERTA MµXIMO, COMPUTADOR SEM INTERNET ATIVA. " ) ) ELSE // EMAIL DESCONFIGURADO, ALTERADO EM: 24/09/2013 // Graciele(Silco) Nao conseguiu entender a mensagem de jeito nenhum // FECHO OS BANCOS DOS EMAILS PARA NAO QUEBRAR CLOSE EMAILENV CLOSE SERVIDOR CLOSE CODIGOS CLOSE CABGRUPO CLOSE GRUPOS CLOSE CONTATOS TRAB := OemToAnsi( "ENVIADOR DE EMAILS DA NF-e ESTµ DESCONFIGURADO - ATEN€ÇO!" ) DEFINE ICON oIco NAME "ICONE" DEFINE FONT oFnt NAME "Ms Sans Serif" SIZE 00, -12 BOLD DEFINE FONT oFont NAME "Ms Sans Serif" SIZE 00, -14 BOLD // ESTA EM: EMAIL.RES DEFINE DIALOG oDlgConf RESOURCE "DLG_ENVIADOR_DESCONFIGURADO" ; COLORS CLR_BLACK, CLR_WHITE TRANSPARENT ICON oIco oDlgConf:lHelpIcon := .F. For IDCor = 401 To 406 // Os ID's dos TEXTOS na DIALOG. REDEFINE SAY ID IDCor OF oDlgConf ; COLORS CLR_BLUE, CLR_WHITE UPDATE FONT oFont TRANSPARENT Next IDCor REDEFINE SAY ID 410 OF oDlgConf COLORS CLR_BLACK, CLR_WHITE UPDATE FONT oFnt TRANSPARENT REDEFINE GROUP oGroup ID 501 OF oDlgConf FONT oFnt TRANSPARENT REDEFINE GET aGet[10] VAR TRAB ID 30 PICTURE "@" OF oDlgConf UPDATE; WHEN( .F. ) FONT oFont COLORS CLR_BLUE, CLR_WHITE REDEFINE BITMAP oBmpEmail ID 125 RESOURCE "EMAIL" OF oDlgConf ADJUST TRANSPARENT oBmpEmail:cToolTip := OemToAnsi( "Configure o Seu Enviador de Email Antes Leia as Instru‡äes") REDEFINE BUTTONBMP oConfigura ID 301 OF oDlgConf ; ACTION( RMAIL( lAppend := .F., DeOndeVem := [NFE] ) ) oConfigura:cToolTip := "Configurar o Enviador de Emails" REDEFINE BUTTONBMP oScreenShot ID 302 OF oDlgConf ; ACTION( ( MOSTRA_SCREENSHOT() ), XFOCUS( oConfigura ) ) oScreenShot:cToolTip := OemToAnsi( "SCREENSHOT: Modelo de Tela do Cadastro do Provedor" ) // By Rossine, modificado na WINDOW.PRG - Cuidado. oScreenShot:lToolTipBallon := .T. oScreenShot:nTooltipWidth := 200 oScreenShot:nTooltipTexColor := CLR_BLACK oScreenShot:nTooltipBKColor := nRGB( 250, 250, 250 ) oScreenShot:cTooltipTitle := OemToAnsi( "SCREENSHOT: Modelo de Tela do Cadastro do Provedor" ) oScreenShot:nTooltipIcon := 1 && 0=NONE / 1=TTI_INFO / 2=TTI_WARNING / 3=TTI_ERROR //-> 0=TTDT_AUTOMATIC / 1=TTDT_RESHOW / 2=TTDT_AUTOPOP / 3=TTDT_INITIAL oScreenShot:nSetDelayType := 2 oScreenShot:nSetDelayTime := 32767 //-> Velocidade do TOOLTIP-> +- 1:30 Secs REDEFINE BUTTONBMP oSaida ID 303 OF oDlgConf ; ACTION( oDlgConf:End() ) CANCEL oSaida:cToolTip := "Saida - Exit - Cancelar" SET FONT OF oConfigura TO oFont SET FONT OF oScreenShot TO oFont SET FONT OF oSaida TO oFont ACTIVATE DIALOG oDlgConf CENTERED oFnt:End() oFont:End() // ABRO OS BANCOS NOVAMENTE PARA NAO QUEBRAR ArqsDBF() // Criacao e abertura dos DBFS /* MsgInfo( "Não Foi Possível Enviar o E-Mail. ERRO! "+CRLF+ ; "Anote o Número da NF-e e Tente Enviar Novamente. "+CRLF+ ; "Veja Com Seu Cliente, Se a Caixa de Mensagens "+CRLF+ ; "Dele, Não Está Lotada(Cheia), Se Estiver, o "+CRLF+ ; "Programa Retornará Falso Para o Envio. "+CRLF+ ; "Persistindo o Erro, Verifique o Que Segue Abaixo:"+CRLF+ ; "Verifique o Remetente. "+CRLF+ ; "Verifique o Destinatário. "+CRLF+ ; "Verifique o Nº. da Porta do Servidor. "+CRLF+ ; "Se o Provedor For gmail, a Porta a Ser "+CRLF+ ; "Usada: Use a Porta 465 Para gmail.com. "+CRLF+ ; "Verifique se o Provedor é Https. "+CRLF+ ; "Verifique a Sua Senha do Email. "+CRLF+ ; "Sua Senha Tem Que Ser Igual a Senha "+CRLF+ ; "Que Esta Cadastrada no Provedor. "+CRLF+ ; "Se Trocaram a Sua Senha no Provedor: "+CRLF+ ; "Verifique se o Seu Provedor Nao Esta OFF LLINE. "+CRLF+ ; "Botão: "+CRLF+ ; "<Configurar Enviador de Email da NF-e > "+CRLF+ ; "<Ferramentas> / <Provedores> / <Alterar> "+CRLF+ ; "Cadastre a Senha Igual a do Provedor. ", ; "Não Foi Possível Enviar a Mensagem... Off Line? " ) */ ENDIF ENDIF lRet := .F. END RETURN( lRet ) Quote Link to comment Share on other sites More sharing options...
aferra Posted October 15, 2013 Author Report Share Posted October 15, 2013 Fala Kapi, eu tirei a ideia dela mesmo, o problema é a quantidade...estou "remontando" esse envio vamos ver o que dá. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted June 9, 2015 Report Share Posted June 9, 2015 Conseguiu resolver o problema da quantidade de emails (mala direta). Estou com o mesmo problema e com essa mesma forma de envio. Aguardo, obrigado. kapiaba 1 Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 9, 2015 Report Share Posted June 9, 2015 Conseguiu resolver o problema da quantidade de emails (mala direta). Estou com o mesmo problema e com essa mesma forma de envio. Aguardo, obrigado. Que problema? Mostre como fazes e o que dá errado. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted June 9, 2015 Report Share Posted June 9, 2015 João, Quando eu faço um looping para enviar um email para cada registro do meu arquivo de clientes, usando os schemas da microsoft do mesmo modo que o rmail utiliza, depois de uns 50 envios aproximadamente, ele diz que não foi possível enviar o próximo e só desligando o computador para continuar. Quote Link to comment Share on other sites More sharing options...
aferra Posted June 9, 2015 Author Report Share Posted June 9, 2015 ainda não resolvi esse problema, o POG foi coloca na linha de comando e chamar o outlook e colar os endereços de email usando o shellexecute....mas não é legal, como somente um cliente utiliza direto do sistema deixei assim por enquanto, mas quero ver de usar a classe tmail nativa, já li no forum inter que funciona.... Quote Link to comment Share on other sites More sharing options...
oribeiro Posted June 9, 2015 Report Share Posted June 9, 2015 Tem exemplo do uso dessa classe tmail? Quote Link to comment Share on other sites More sharing options...
aferra Posted June 9, 2015 Author Report Share Posted June 9, 2015 Olá Oscar, sempre tem no samples, dei uma pesquisada e achei esses dois bem legais... james.prg testmail.prg mas tem alguns melhores no forum mesmo mas não encontrei pela pressa, qdo eu fizer e der certo eu posto aqui. Quote Link to comment Share on other sites More sharing options...
oribeiro Posted June 10, 2015 Report Share Posted June 10, 2015 Joao, Por favor, me envia o RMail.prg que você utiliza. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 10, 2015 Report Share Posted June 10, 2015 Joao, Por favor, me envia o RMail.prg que você utiliza. O que eu uso hoje, não posso enviar. Mas me baseie neste, faça as correções necessárias: http://fivewin.com.br/index.php?/topic/23987-link-do-rmailprg/?hl=rmail abs. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted June 11, 2015 Report Share Posted June 11, 2015 Outra forma fácil de enviar email. Testado e aprovado em: FWH1306 e xHarbour última versão. #Include "FiveWin.ch" Function ENVIA_ERRO() LOCAL oSmtp, oEMail LOCAL cSmtpUrl LOCAL cSubject, cFrom, cTo, cBody, cFile /* cSmtpUrl := "smtp://meuemail:senha@smtp.mail.yahoo.com.br" cFrom := "meuemail@yahoo.com.br" cTo := "meuemail@ymail.com" */ cSmtpUrl := "smtp://meuemail@dominio.com.br:senha@smtp.dominio.com.br" cFrom := "joao@pleno.com.br" cTo := "joao@pleno.com.br" cSubject := [Envio de erro do programa] cFile := "COMP.LOG" //cNOME cBody := [Envio de erro do programa] oEMail := TIpMail():new() oEMail:setHeader( cSubject, cFrom, cTo ) oEMail:setBody( cBody ) oEMail:attachFile( cFile ) //oEMail:hHeaders[ "Disposition-Notification-To" ] := cFrom // solicita confirmacao oSmtp := TIpClientSmtp():new( cSmtpUrl ) IF oSmtp:open() oSmtp:sendMail( oEMail ) oSmtp:close() MSGINFO( [Email enviado com sucesso], [Aviso-Uhuuuu abestado!] ) ELSE MSGINFO( "Erro:", oSmtp:lastErrorMessage() ) ENDIF RETURN Nil // FIM DO PROGRAMA Quote Link to comment Share on other sites More sharing options...
aferra Posted June 12, 2015 Author Report Share Posted June 12, 2015 bom na minha maquina e na do cliente era esse o grande problema...então agora o CDOSYS está em ordem...siga as instruções no meu caso somente dando permissão já resolveu. https://support.microsoft.com/en-us/kb/910360/pt-br Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.