jfaguiar Posted April 28, 2014 Report Share Posted April 28, 2014 Olá Amigos. Estou tentando enviar xml por Rmail e funcionou em alguns computadores com Windows 7, mas em um computador está apresentando a mensagem: Não foi possível envia o e-mail Error 1001 SubC -1 OSCode 0 SubSystem TOleAuto Antes havia avisado que a dll Inetcomm.dll não estava no computador. Fiz a copia para a pasta C:\windows\system32 e passou a dar esse erro. Alguém sabe me dizer o que fazer? Obrigado. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 28, 2014 Report Share Posted April 28, 2014 Verifique a senha, deve estar errada. Quote Link to comment Share on other sites More sharing options...
jfaguiar Posted April 28, 2014 Author Report Share Posted April 28, 2014 Valeu João. Vou verificar. Quote Link to comment Share on other sites More sharing options...
kapiaba Posted April 28, 2014 Report Share Posted April 28, 2014 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 // Remote SMTP = 2, local = 1 :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 // Inlcuido em: 14/01/2014 - nao sei ainda para que serve... :Item( "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"):Value := 30 :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] MsgRun( "Tentando Enviar o Email sem Anexo(s) ", ; "Favor Esperar, Pode Demorar! ", ; { || lRet := Envia_Mail(oCfg, cRemt, cDest, cCC, cCCO, cTxt, cSubject) } ) ENDIF ENDIF IF lNewAnexoVemdaNFe // VEM DA NF-E, ENVIAR EMAIL +- LINHA 14192/200 //-> Para criar um novo campo em um banco de dados IF FILE( "EMAILENV.DBF" ) CLOSE EMAILENV CLOSE SERVIDOR CLOSE CODIGOS CLOSE CABGRUPO CLOSE GRUPOS CLOSE CONTATOS USE EMAILENV NEW EXCLUSIVE ALIAS EMAILENV cAlias := ALIAS() lExiste := .F. FOR nConta := 1 TO (cAlias)->(fCount()) IF (cAlias)->(FieldName(nConta)) = "HORAENVIO" lExiste := .T. EXIT ENDIF NEXT ENDIF ArqsDBF() // Criacao e abertura dos DBFS SELECT EMAILENV // Gravar o Email/Xml enviado //-> Novo Registro NewRecord() IF lRet // Se chegou .T. // mensagem foi enviada IF .NOT. RecordLock() //-> Trava o registro // NO PLENOIND E FATURCOD2 E NO PLENOCB E NFECOD2 REPLACE EMAILENV->CODC WITH NFECOD2 REPLACE EMAILENV->CONTATO WITH cSubject+" - Para: "+ ; ALLTRIM(cDest) REPLACE EMAILENV->DATAENVIO WITH DATE() REPLACE EMAILENV->HORAENVIO WITH TIME() ENDIF COMMIT UNLOCK ELSE // mensagem nao foi enviada com sucesso IF .NOT. RecordLock() //-> Trava o registro REPLACE EMAILENV->CODC WITH NFECOD2 REPLACE EMAILENV->CONTATO WITH cSubject+ ; OemToAnsi( " - NÆo Enviado" ) + ; " - Para: " + ; ALLTRIM(cDest) + " - Falha " REPLACE EMAILENV->DATAENVIO WITH DATE() REPLACE EMAILENV->HORAENVIO WITH TIME() ENDIF COMMIT // vai que... UNLOCK MsgInfo( OemToAnsi( "ATEN€ÇO USUµRIO: " )+CRLF+ ; OemToAnsi( "MENSAGEM DO EMAIL NÇO ENVIADA. " )+CRLF+ ; OemToAnsi( "OCORREU ALGUMA FALHA AO ENVIAR," )+CRLF+ ; OemToAnsi( "O SEU ENVIADOR DE EMAIL ESTµ " )+CRLF+ ; OemToAnsi( "CONFIGURADO CORRETAMENTE? " )+CRLF+ ; OemToAnsi( "TENTE ENVIAR O EMAIL NOVAMENTE." )+CRLF+ ; OemToAnsi( "TECLE <ENTER> PARA CONTINUAR..." ), ; OemToAnsi( "ATEN€ÇO: EMAIL NÇO ENVIADO... " ) ) ENDIF ENDIF ENDIF lVoltaVariosEmails := .T. // Se Eu Vier do Botao Automatico, Ligar. IF lLigaBtnAuto lEnvAutoVariosEmails := .T. ENDIF lExiste := .F. RETURN( lRet ) Quote Link to comment Share on other sites More sharing options...
jfaguiar Posted April 29, 2014 Author Report Share Posted April 29, 2014 Show de bola João. Vou substituir esta rotina. Obrigado 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.