mamp Posted November 26, 2009 Report Share Posted November 26, 2009 estou tendo um problema de envio de email pelo hb_sendmail, ela nao da erro, mas tambem nao envia o email segue codigo: Function Enviahbemail() HB_SendMail( 'smtp.bol.com.br', , 'macedo.marcos@bol.com.br', ; 'macedomarcos@hotmail.com', , , "Teste de envio SAI" , ; "ENVIO SAI" , , 'macedo.marcos@bol.com.br' , 'senha' ,; 'pop3.bol.com.br' , , ,.t., .t., , , ) Return (.t.) se alguem puder me ajudar, obrigado nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
mamp Posted November 26, 2009 Author Report Share Posted November 26, 2009 estou tendo um problema de envio de email pelo hb_sendmail, ela nao da erro, mas tambem nao envia o email segue codigo: Function Enviahbemail() HB_SendMail( 'smtp.bol.com.br', , 'macedo.marcos@bol.com.br', ; 'macedomarcos@hotmail.com', , , "Teste de envio SAI" , ; "ENVIO SAI" , , 'macedo.marcos@bol.com.br' , 'senha' ,; 'pop3.bol.com.br' , , ,.t., .t., , , ) Return (.t.) se alguem puder me ajudar, obrigado nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 27, 2009 Report Share Posted November 27, 2009 Tem um monte de rotinas de envio de emails, já prontas neste forum, na pagina principal, faça uma busca por EMAIL. Se não conseguir, avise. Esta rotina usa o OUTLOOK EXPRESS? João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
mamp Posted November 27, 2009 Author Report Share Posted November 27, 2009 kapiaba, estou nesta a um bom tempo, uns 2 meses se nao me engano, ja dei a busca como voce me disse e todas as rotinas que tentei, fazem a mesma coisa ou seja, "nao da mensagem de erro, mas tambem nao envia o email", e outras dao erro e nao saem do lugar. Ai numa das conversas no MSN encontrei o Luiz culikr que me disse: - "Rapaz pode esquecer tudo isto use o nativo co xharbour, use o HB_sendmail()" fui usar e continua a mesma coisa, ate onde eu falei com ele(enquanto ele me espondia) este "nativo do xharbour", nao fuciona se usar o hotmail, mas como voce ve to usando o BOL, mas nao esta funcionado e o Luiz nao responde mais a sequencia de email que mandei pra ele, a ultima sequencia era que nao funcionava com hotmail, mas passei pra BOL e esta do memso jeito. Voce tem alguma rotina pronta que voce usa?, pode me mandar(pra o meu email) - macedomarcos@hotmail.com obrigado. nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 27, 2009 Report Share Posted November 27, 2009 Retire o que não vai usar... Dúvidas, pergunte. //-> Incluido em: 16/09/2009 - Joao - Precisa do OutLook Express Instalado. //-> Rotina By Rossine e Yuri, Forum FiveWin Brasil. Funcionou perfeito. FUNCTION ENVIAR_EMAIL() LOCAL cSubject, cNoteText, cMsgType, cConversationID, dDate, cTime, ; lReceipt, lFromUser, aOrigin, aRecipients, aFiles, oMail, ; EmailCliente, cChave, cXml, cValNF PUBLIC wNomeEmpresa TONE(900,2) //-> Abre Notas Fiscais SELECT CADNFE IF CADPARAM->TPAMB = [1] SET ORDER TO 03 ELSE SET ORDER TO 01 ENDIF SEEK NFECOD2 //-> Numero da Nota Fiscal IF FOUND() SELECT CADFATUR IF CADPARAM->TPAMB = [1] SET ORDER TO 07 //-> Por NFECOD - Indice SEEK CADNFE->NFECOD ELSE SET ORDER TO 01 //-> Por FATURCOD - Indice SEEK CADNFE->FATURCOD ENDIF ELSE TONE(900,2) MsgStop( OemToAnsi( "Aten‡Æo usu rio: " ) +CRLF+ ; OemToAnsi( "Nota fiscal nÆo localizada " ) +CRLF+ ; OemToAnsi( "para gerar o Email do Cliente. " ), ; OemToAnsi( "Impossivel enviar o email... " ) ) XFOCUS( oNota ) RETURN NIL ENDIF //-> Se achou o cliente em CADFATUR.DBF - la em cima IF FOUND() cValNF := CADFATUR->TOTNF //-> Certo isto Paulo? SELECT CADCLIEN SET ORDER TO 01 SEEK CADFATUR->CLIENCOD ELSE TONE(900,2) MsgStop( OemToAnsi( "Aten‡Æo usu rio: " ) +CRLF+ ; OemToAnsi( "Nota fiscal nÆo localizada " ) +CRLF+ ; OemToAnsi( "para gerar o Email do Cliente. " ), ; OemToAnsi( "Impossivel enviar o email... " ) ) XFOCUS( oNota ) RETURN NIL ENDIF //-> Se achou o cliente em CADCLIEN.DBF IF FOUND() // aEmpresa = Sql_Array("select nome from empresa") //Ex. do Z‚ aEmpresa := CADCLIEN->CLIENTE //-> Verifica se o cliente tem email cadastrado em CADCLIEN.DBF // aTabela = Sql_Array("select nome,email from clientes where cliente = "+Str(cCliente,6)) aTabela := LOWER( CADCLIEN->EMAILNFE ) //-> Email do Cliente IF CADCLIEN->EMAILNFE = [ ] //-> se estiver vazio TONE(900,2) ALTERAR_EMAIL_CLIENTE( DeOndeVem := "ENVIAR_EMAIL" ) RETURN NIL ENDIF ELSE TONE(900,2) MsgStop( OemToAnsi( "Aten‡Æo usu rio: " ) +CRLF+ ; OemToAnsi( "Empresa nÆo localizada em CADCLIEN.DBF" ) +CRLF+ ; OemToAnsi( "para gerar o Email do Cliente/Empresa." ), ; OemToAnsi( "Impossivel enviar o email... ERRO! " ) ) XFOCUS( oNota ) RETURN NIL ENDIF //----------------------------------------------------------------------// TONE(900,2) //-> Assunto do Email enviado cSubject := "Nota Fiscal Eletrônica - Arquivo XML" //-> Corpo do Email cNoteText := "Prezado Cliente:" +CRLF+CRLF+; ALLTRIM( CADCLIEN->CLIENTE ) +CRLF+CRLF+; "Para suas devidas providencias, " + ; "segue em anexo o arquivo digital, " + ; "padrão XML, que deu origem " + ; "a nossa Nota Fiscal Eletrônica com as " + ; "seguintes caracterÃsticas: " +CRLF+CRLF+; "Número: "+STRZERO( NFECOD2 ) +CRLF+ ; "Emissão: " + DTOC( CADFATUR->DTEMIS ) +CRLF+ ; "Valor: " + ; TRANSF(( cValNF ),"@E 999,999,999.99") +CRLF+CRLF+; "Atenciosamente," +CRLF+CRLF+; ALLTRIM(wNomeEmpresa) //-> Nome do Remetente/Enviador cMsgType := "C" cConversationID := "" dDate := DATE() cTime := TIME() lReceipt := .F. lFromUser := .T. aOrigin := {""} //-> Email de quem enviou, nao precisa informar //-> Email do Cliente que vai receber //-> aRecipients := {"joao@pleno.com.br"} //-> Exemplo Original //-> Pegando o Email do Cliente do Banco de dados CADCLIEN.DBF EmailCliente := LOWER(ALLTRIM( CADCLIEN->EMAILNFE ) ) //-> Transformo para ficar igual ao exemplo aRecipients := { EmailCliente } //-> email final para enviar //-> Anexos do email - Original //-> aFiles := {"c:\TORBAL2\SS.TXT"} //-> A chave de acesso da NF-e cChave := ALLTRIM(CADNFE->CHAVEACES) cXml := cPathNFe := CURDRIVE() + ":\" + GETCURDIR() + ; "\REMESSA\ENVIADAS\" + ; ALLTRIM( cChave ) + ; "nfe.xml" aFiles := { cXml } //-> Aquivo para anexxar //----------------------------------------------------------------------// //-> Envia o Email - Disparo para o OutLoox Express oMail:=TMail():New( cSubject , ; cNoteText , ; cMsgType , ; cConversationID, ; dDate , ; cTime , ; lReceipt , ; lFromUser , ; aOrigin , ; aRecipients , ; aFiles ) //-> Ativa o OutLook Express - OutLook Express, Tem que ser PADRÇO oMail:Activate() IF ( oMail:nRetCode ) == 2 .OR. ( oMail:nRetCode ) == 26 TONE( 900, 2 ) MsgStop( OemToAnsi( "Aten‡Æo usu rio: Favor Anotar. " )+CRLF+; OemToAnsi( "Ocorreu algum problema com seu Outlook " )+CRLF+; OemToAnsi( "Express. Tente solucionar o Problema: " )+CRLF+; OemToAnsi( " " )+CRLF+; OemToAnsi( " no BotÆo: do Windows: " )+CRLF+; OemToAnsi( "Configura‡äes. " )+CRLF+; OemToAnsi( "Painel de Controle " )+CRLF+; OemToAnsi( "Op‡äes da Internet " )+CRLF+; OemToAnsi( " na Aba Programas " )+CRLF+; OemToAnsi( " " )+CRLF+; OemToAnsi( "Verifique: Se nÆo estiver, troque. " )+CRLF+; OemToAnsi( " " )+CRLF+; OemToAnsi( "Embaixo de Onde Estiver Escrito: " )+CRLF+; OemToAnsi( " " )+CRLF+; OemToAnsi( "Vocˆ Pode Especificar Que Programa o " )+CRLF+; OemToAnsi( "Windows Utiliza Automaticamente Para " )+CRLF+; OemToAnsi( "Cada Servi‡o de Internet. PadrÆo Abaixo: " )+CRLF+; OemToAnsi( " " )+CRLF+; OemToAnsi( "Email: OutLook Express - PadrÆo ‚ este. " )+CRLF+; OemToAnsi( "Grupo de Noticias: OutLook Express " )+CRLF+; OemToAnsi( " " )+CRLF+; OemToAnsi( "NÆo Use o Microsoft Office OutLook. " )+CRLF+; OemToAnsi( " " )+CRLF+; OemToAnsi( "Permitido: Microsoft OutLook Express " )+CRLF+; OemToAnsi( " " )+CRLF+; OemToAnsi( "Se nÆo solucionar, entre em contato. " ), ; OemToAnsi( "OutLook Express - Instala‡Æo Obrigat¢ria. " ) ) ENDIF //-> Fecha o Outlook Express oMail:End() TONE(900,2) SELECT CADNFE RETURN( .T. ) id=code>id=code>Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
mamp Posted November 28, 2009 Author Report Share Posted November 28, 2009 kapiaba, tema algum exemplo que nao seja obrigado o outlook pois nenhum cliente meu usa outlook obg nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
kapiaba Posted November 30, 2009 Report Share Posted November 30, 2009 Olá, Faça uma busca aqui: http://www.pctoledo.com.br/ Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br joao@pleno.com.br Fone: (11) 3106-2832 / 8243-5632 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
siscat Posted November 30, 2009 Report Share Posted November 30, 2009 citação:estou tendo um problema de envio de email pelo hb_sendmail, ela nao da erro, mas tambem nao envia o email segue codigo: Function Enviahbemail() HB_SendMail( 'smtp.bol.com.br', , 'macedo.marcos@bol.com.br', ; 'macedomarcos@hotmail.com', , , "Teste de envio SAI" , ; "ENVIO SAI" , , 'macedo.marcos@bol.com.br' , 'senha' ,; 'pop3.bol.com.br' , , ,.t., .t., , , ) Return (.t.) se alguem puder me ajudar, obrigado nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com id=quote>id=quote>esperimenta assim: HB_SendMail( 'smtp.bol.com.br',; ,; 'macedo.marcos@bol.com.br',; {'macedomarcos@hotmail.com'},; // aqui é um arrayid=red> ,; ,; "Teste de envio SAI" ,; "ENVIO SAI" ,; ,; 'macedo.marcos@bol.com.br' ,; 'senha' ,; 'pop3.bol.com.br' ,; ,; ,; .t.,; .t.,; ,; ,; ) id=code>id=code>Marllon Figueiredo Tecnologia de Sistemas siscat@siscat.com.br FWH+xHb+SQL+SQLRDD+xDevStudio Você quer proteger seu software da PIRATARIA? Me consulte como! Quote Link to comment Share on other sites More sharing options...
eevaldo Posted December 1, 2009 Report Share Posted December 1, 2009 Ola, passei por esse problema uma vez, e o problema era o aintivirus, ou antispam da rede que barrava a mensagem. Tanto de envio como de recepção. Obrigado. Evaldo Wagner FiveWin9.07 xHarbour 1.21,BCC55, Pelles C xDev,xHarbour for Linux(console) evaldowl@hotmail.com Quote Link to comment Share on other sites More sharing options...
mamp Posted December 5, 2009 Author Report Share Posted December 5, 2009 ola marllon, coloquei como array como voce exemplicicou e o problema continua, nao envai e nem da erro evaldo dezativo o antivirus pra ver e nao manda tambem nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
mamp Posted December 6, 2009 Author Report Share Posted December 6, 2009 kapiaba, adaptei para o microsoft outlook, instalei na minha maquina e dando certo instalo nos clientes e tudo bem , porem na adaptacao esta dando um erro de --- nao foi possivel localizar o objeto --- com a adaptacao ficou assim. local cArq:="c:\sai\sempre.txt" cSubject = "Teste de envio Sempre" cNoteText = "Isto é um teste de envio automatico de email do sistema SAI" cMsgType = "C" cConversationID = "" dDate = Date() cTime = Time() lReceipt = .F. lFromUser = .T. aOrigin = {"macedo.marcos@bol.com.br"} aRecipients = {"macedomarcos@hotmail.com"} aFiles = { cArq } oMail:=TMail():New(cSubject,; cNoteText,; cMsgType ,; cConversationID ,; dDate,; cTime,; lReceipt,; lFromUser,; aOrigin,; aRecipients,; aFiles) activate mail oMail return nil tem como ve dar uma olhada e ve onde estou errando? tem que acrescentar alguama DLL, .ch ou LIB? obrigado nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
mamp Posted December 6, 2009 Author Report Share Posted December 6, 2009 pessoal achei uma outra rotina de nvio de mail que é assim: Loca oOutMail Static nNume := 1 Publ oSockeMe1 Publ oSockeMe2 oWnd:SetMsg( "Enviando Internet E-Mail..." ) cDe := alltrim("macedo.marcos@bol.com.br") cPa := alltrim("macedomarcos@hotmail.com") cArquiv := "c:\sai\sempre.txt" oOutMail := TSmtp():New( cIP,,oSockeMe2 ) // email server IP oOutMail:bConnecting := { || oWnd:SetMsg( "Conectando "+cIP+"..." ) } oOutMail:bConnected := { || oWnd:SetMsg( "Conectado em "+cIP+"..." ) } oOutMail:SendMail( cDe,; // de { cPa } ,; // para "Segue anexo pedido de produtos" ,; // Msg Tex "Pedido de Produtos" ,; // Assunto { cArquiv } ) // Arquivo oOutMail:bDone := { || SairSmtp(@nNume,nTota,oReor,cIP) } ai olha o erro: Called from: SAI999.prg => (b)ENVIAEM(4594) Called from: TSMTP.PRG => TSMTP:SENDMAIL(0) Called from: SAI999.prg => ENVIAEM(4601) Called from: SAI999.prg => (b)MENUPRIM(1256) Called from: MENU.PRG => TMENU:COMMAND(0) Called from: WINDOW.PRG => TWINDOW:COMMAND(0) Called from: => TWINDOW:HANDLEEVENT(0) Called from: WINDOW.PRG => _FWH(0) Called from: => WINRUN(0) socorro, alguem pode me ajudar Called from: WINDOW.PRG => TWINDOW:ACTIVATE(0) Called from: SAI999.prg => MAIN(898) nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
Ale SB Posted December 6, 2009 Report Share Posted December 6, 2009 Amigo, dê uma olha nisto aqui, pelo jeito funciona blzinha: http://forums.fivetechsupport.com/viewtopic.php?f=6&t=14663&hilit=tsmtp @braços Ale aleseribeli@hotmail.com Andradina/SP "Comitiva sem nois eh comitiva sem Festa!" id=red> Quote Link to comment Share on other sites More sharing options...
mamp Posted December 6, 2009 Author Report Share Posted December 6, 2009 pessoal achei mais uma rotina e nao da erro, mas tambem nao envia o email LOCAL oSmtp, oEMail LOCAL cSmtpUrl LOCAL cSubject, cFrom, cTo, cBody, cFile // preparing data for eMail cSmtpUrl := "smtp://smtp.bol.com.br" cSubject := "veja se funcionou" cFrom := "macedo.marcos@bol.com.br" cTo := "macedomarcos@hotmail.com" cFile := "" cBody := "este é um teste de enviar emails com: " + DtoC(Date()) + " " + Time // preparing eMail object oEMail := TIpMail():new() oEMail:setHeader( cSubject, cFrom, cTo ) oEMail:setBody( cBody ) oEMail:attachFile( cFile ) // preparing SMTP object oSmtp := TIpClientSmtp():new( cSmtpUrl ) // sending data via internet connection IF oSmtp:open() oSmtp:sendMail( oEMail ) oSmtp:close() ? "Email Enviado com Sucesso !!!" ELSE ? "Erro no envio do email: ", oSmtp:lastErrorMessage() ENDIF como veem o desespero ja atacou, socorro novamente nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
mamp Posted December 6, 2009 Author Report Share Posted December 6, 2009 ael, fui atraz, qualquer dica eu to aceitando mas o mesmo problema, nao da erro, mas tambem nao envia, ficou assim olha, veja se tem algo errado nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
mamp Posted December 6, 2009 Author Report Share Posted December 6, 2009 desculpa ale, dei enter sem querer segue codigo nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
mamp Posted December 6, 2009 Author Report Share Posted December 6, 2009 de novo, desculpa agora segue codigo Local oMail, aCustomer:={} Local cSubject := "Test mail" Local cMessage := "This is a test message." AAdd( aCustomer, "macedomarcos@hotmail.com" ) DEFINE MAIL oMail SUBJECT cSubject TEXT cMessage oMail:aRecipients = aCustomer ACTIVATE MAIL oMail MsgInfo( "mail sent" ) Return nil nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
Ale SB Posted December 6, 2009 Report Share Posted December 6, 2009 Marcos, eu nao uso envio de email pelo sistema, nao sei te falar oq esta errado. Eu soh achei aquela soluçao no forum internacional e passei p/ vc dar uma olhada, pelo jeito ta funcionando a dica do Manuel Mercado. qq coisa, post la, naquele topico mesmo, tem muita gente la q usa este esquema q vc ker fazer de envio. @braços Ale aleseribeli@hotmail.com Andradina/SP "Comitiva sem nois eh comitiva sem Festa!" id=red> Editado por - Ale SB on 06/12/2009 11:17:32 Quote Link to comment Share on other sites More sharing options...
CIACPD Posted December 6, 2009 Report Share Posted December 6, 2009 Marcos para resolver o seu problema de vez: //--------------------------------------------------------------------------------------------------------------------// Function fEmail() Local oDlg, aCtl[ 22 ], oFont Local cMailServer := PadR( "smtp.gmail.com", 60 ), ; // servidor de correo cFrom := PadR( "remitente@gmail.com", 60 ), ; // remitente cTo := PadR( "destinatarios@hotmail.com", 180 ), ; // destinatario (uno o varios separados con comas) cBCC := PadR( "destinatarios@hotmail.com", 180 ), ; // copias ocultas a (uno o varios separados con comas) cAttach := PadR( "c:\fwh\bitmaps\fivewin.bmp", 180 ), ;// archivo anexo (uno o varios separados con comas) cSubject := Space( 60 ), ; // asunto cBody := Space( 500 ), ; // cuerpo del mensaje nPort := 465, ; // puerto usado por el servidor de correo cUser := Space( 60 ), ; // nombre de usuario para autenticación cPass := Space( 30 ) // contraseña para autenticación DEFINE FONT oFont NAME "Arial" SIZE 0, -16 DEFINE DIALOG oDlg FROM 0, 0 TO 455, 703 PIXEL ; COLORS CLR_BLUE, CLR_HBROWN ; TITLE "CDOSYS Collaboration Data Objects for Windows 2000" ; STYLE nOR( DS_MODALFRAME, WS_POPUP, WS_CAPTION, WS_SYSMENU, WS_3DLOOK ) @ 10, 5 SAY aCtl[ 1 ] PROMPT "Servidor de Correo:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 70, 11 PIXEL @ 10, 80 GET aCtl[ 2 ] VAR cMailServer OF oDlg ; FONT oFont UPDATE PICTURE "@K" ; COLORS CLR_BLUE, CLR_WHITE SIZE 206, 11 PIXEL @ 10,294 SAY aCtl[ 3 ] PROMPT "Puerto:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 30, 11 PIXEL @ 10,320 GET aCtl[ 4 ] VAR nPort OF oDlg ; FONT oFont UPDATE PICTURE "@K ####" ; COLORS CLR_BLUE, CLR_WHITE SIZE 24, 11 PIXEL @ 24, 5 SAY aCtl[ 5 ] PROMPT "Remitente:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 70, 11 PIXEL @ 24, 80 GET aCtl[ 6 ] VAR cFrom OF oDlg ; FONT oFont UPDATE PICTURE "@K" ; COLORS CLR_BLUE, CLR_WHITE SIZE 264, 11 PIXEL @ 39, 5 SAY aCtl[ 7 ] PROMPT "Destinatario:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 70, 11 PIXEL @ 39, 80 GET aCtl[ 8 ] VAR cTo OF oDlg ; FONT oFont UPDATE PICTURE "@K" ; COLORS CLR_BLUE, CLR_WHITE SIZE 264, 11 PIXEL @ 54, 5 SAY aCtl[ 9 ] PROMPT "Copia para:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 70, 11 PIXEL @ 54, 80 GET aCtl[ 10 ] VAR cBCC OF oDlg ; FONT oFont UPDATE PICTURE "@K" ; COLORS CLR_BLUE, CLR_WHITE SIZE 264, 11 PIXEL @ 69, 5 SAY aCtl[ 11 ] PROMPT "Adjuntar:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 70, 11 PIXEL @ 69, 80 GET aCtl[ 12 ] VAR cAttach OF oDlg PICTURE "@K" ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_WHITE SIZE 253, 11 PIXEL // ACTION fAddAttach( aCtl[ 12 ] ) ; // descomentar para FWH 8.12 o posterior @ 69,333 BUTTON "..." OF oDlg SIZE 10, 10 PIXEL ACTION fAddAttach( aCtl[ 12 ] ) @ 84, 5 SAY aCtl[ 13 ] PROMPT "Asunto:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 70, 11 PIXEL @ 84, 80 GET aCtl[ 14 ] VAR cSubject OF oDlg ; FONT oFont UPDATE PICTURE "@K" ; COLORS CLR_BLUE, CLR_WHITE SIZE 264, 11 PIXEL @ 99, 5 SAY aCtl[ 15 ] PROMPT "Autenticación: Usuario:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 80, 11 PIXEL @ 99, 87 GET aCtl[ 16 ] VAR cUser OF oDlg ; FONT oFont UPDATE PICTURE "@K" ; COLORS CLR_BLUE, CLR_WHITE SIZE 118, 11 PIXEL @ 99,213 SAY aCtl[ 17 ] PROMPT "Contraseña:" OF oDlg ; FONT oFont UPDATE ; COLORS CLR_BLUE, CLR_HBROWN SIZE 44, 11 PIXEL @ 99,259 GET aCtl[ 18 ] VAR cPass OF oDlg PASSWORD ; FONT oFont UPDATE PICTURE "@K"; COLORS CLR_BLUE, CLR_WHITE SIZE 85, 11 PIXEL @118, 6 SAY aCtl[ 19 ] PROMPT "Cuerpo del mensaje" OF oDlg ; SIZE 100, 11 PIXEL ; FONT oFont COLORS CLR_BLUE, CLR_HBROWN @126, 10 GET aCtl[ 20 ] VAR cBody OF oDlg ; FONT oFont MULTILINE UPDATE ; COLORS CLR_BLUE, CLR_WHITE SIZE 330, 72 PIXEL @208,213 BUTTON aCtl[ 21 ] PROMPT "&Enviar" OF oDlg ; FONT oFont SIZE 53, 16 PIXEL ; ACTION fSendMail( cMailServer, cFrom, cTo, cSubject, cBody, cAttach, cBCC, cUser, cPass, nPort ) @208,292 BUTTON aCtl[ 22 ] PROMPT "&Salir" OF oDlg ; FONT oFont SIZE 53, 16 PIXEL ACTION oDlg:End() ACTIVATE DIALOG oDlg CENTERED ; VALID ( oFont:End(), .T. ) Return Nil //---------------------------------------------------------------------------------------------// Function fSendMail( cMailServer, cFrom, cTo, cSubject, cBody, cAttach, cBCC, cUser, cPass, nPort ) Local oCfg, oMsg, oError, nEle, cToken, ; aAttach := {}, ; lAuth := ! Empty( cUser ) .and. ! Empty( cPass ), ; nSendOpt := 2 // send using: 1 = pickup folder 2 = port Default nPort := 25, ; cSubject := "", ; cBody := "" If "GMAIL.COM" $ Upper( cMailServer ) .and. ( Empty( cUser ) .or. Empty( cPass ) ) MsgStop( "Com GMail são requeridos nome do usuario e senha", "Atenção" ) Return .f. EndIf CursorWait() nEle := 1 While ! Empty( cToken := StrToken( cAttach, nEle++, "," ) ) AAdd( aAttach, cToken ) EndDo Try oCfg := CreateObject( "CDO.Configuration" ) With Object oCfg:Fields :Item( cdoSMTPServer ):Value := Trim( cMailServer ) :Item( cdoSMTPServerPort ):Value := nPort :Item( cdoSendUsing ):Value := nSendOpt If lAuth :Item( cdoSMTPAuthenticate ):Value := 1 :Item( cdoSendUserName ):Value := Trim( cUser ) :Item( cdoSendPassword ):Value := Trim( cPass ) :Item( cdoSMTPUseSSL ):Value := 1 EndIf :Update() End With oMsg := CreateObject( "CDO.Message" ) With Object oMsg :Configuration := oCfg :From := Trim( cFrom ) :To := Trim( cTo ) :Subject := Trim( cSubject ) :TextBody := Trim( cBody ) For nEle := 1 To Len( aAttach ) :AddAttachment := AllTrim( aAttach[ nEle ] ) Next If ! Empty( cBCC ) :BCC := Trim( cBCC ) EndIf :Send() End With Catch oError CursorArrow() MsgStop( "Não foi possÃvel enviar a mensagem" + CRLF + "Error: " + cValToChar( oError:GenCode) + CRLF + ; "SubC: " + cValToChar( oError:SubCode ) + CRLF + "OSCode: " + cValToChar( oError:OsCode ) + CRLF + ; "SubSystem: " + cValToChar( oError:SubSystem ) + CRLF + "Mensagem: " + oError:Description ) oCfg := Nil oMsg := Nil Return .f. End Try oCfg := Nil oMsg := Nil // SndPlaySound( GetWinDir() + "\media\Tada.wav", 0 ) CursorArrow() Return .t. //---------------------------------------------------------------------------------------------// Static Function fAddAttach( oGet ) Local cFile, ; cAttach := oGet:VarGet() cFile := cGetFile( "*.*", "Selecione o arquivo" ) If ! Empty( cFile ) cAttach := Lower( PadR( AllTrim( cAttach ) + If( ! Empty( cAttach ), ",", "" ) + AllTrim( cFile ), 180 ) ) EndIf oGet:cText( cAttach ) Return Nil id=code>id=code>ABAIXO O "CdoSys.ch" #ifndef _CDOSYS_CH #define _CDOSYS_CH #define cdoSMTPServer "http://schemas.microsoft.com/cdo/configuration/smtpserver" #define cdoSMTPServerPort "http://schemas.microsoft.com/cdo/configuration/smtpserverport" #define cdoSendUsing "http://schemas.microsoft.com/cdo/configuration/sendusing" #define cdoSMTPPickupFolder "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory" #define cdoSMTPAuthenticate "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" #define cdoSendUserName "http://schemas.microsoft.com/cdo/configuration/sendusername" #define cdoSendPassword "http://schemas.microsoft.com/cdo/configuration/sendpassword" #define cdoSMTPUseSSL "http://schemas.microsoft.com/cdo/configuration/smtpusessl" #define cdoSMTPConnectionTimeout "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout" #endif id=code>id=code>exemplo de como eu utilizo: function envia_fale_cono( cAssunto, cMensagem ) Local cMailServer := PadR( "smtp.ig.com.br", 60 ), ; // servidor de correo cFrom := PadR( "daniel_segura@ig.com.br", 60 ), ; // remitente cTo := PadR( "ciacpd@hotmail.com", 180 ), ; // destinatario (uno o varios separados con comas) cBCC := PadR( "daniel_segura@ig.com.br", 180 ), ; // copias ocultas a (uno o varios separados con comas) cAttach := "",; // PadR( "c:\fwh\bitmaps\fivewin.bmp", 180 ), ; // archivo anexo (uno o varios separados con comas) cSubject := "Empresa: "+xNome_Empre + " - " + cAssunto, ; // asunto cBody := cMensagem, ; // Space( 500 ), ; // cuerpo del mensaje nPort := 465, ; // puerto usado por el servidor de correo cUser := "daniel_segura@ig.com.br", ; // Space( 60 ), ; // nombre de usuario para autenticación cPass := "senhasenha" // Space( 30 ) // contraseña para autenticación if fSendMail( cMailServer, cFrom, cTo, cSubject, cBody, cAttach, cBCC, cUser, cPass, nPort ) msginfo("E-mail enviado com sucesso."+CRLF+CRLF+"Entraremos em contato em breve.","E-Mail Fale Conosco.") Else msginfo("E-mail não enviado, verifique sua conecção com a internet.","E-Mail Fale Conosco.") endif return .t. id=code>id=code>Daniel Segura Quote Link to comment Share on other sites More sharing options...
mamp Posted December 6, 2009 Author Report Share Posted December 6, 2009 daniel , adapteri e ficou assim: ******************* function Enviaem6() ******************* Local cMailServer := PadR( "smtp.bol.com.br",60 ), ; // cFrom := PadR( "macedo.marcos@bol.com.br", 60 ), ; // cTo := PadR( "macedomarcos@hotmail.com", 180 ), ; cBCC := PadR( "guilhermelithg@grupovila.com.br", 180 ), ; cAttach := PadR( "c:\sai\sempre.txt", 180 ), ; // archivo anexo (uno cSubject := "Empresa: Eclipse2047 - Teste SAI" , ; // asunto cBody := "Teste de Envio automatico SAI ", ; // Space( 500 ), ; nPort := 465, ; // p cUser := "macedo.marcos@bol.com.br", ; // Space( 60 ), ; // cPass := "senhasenha" // Space( 30 ) if fSendMail( cMailServer, cFrom, cTo, cSubject, cBody, cAttach, cBCC, cUser,cPass,cPort msginfo("E-mail enviado com )sucesso."+CRLF+CRLF+"Entraremos em contato") Else msginfo("E-mail nÒo enviado, verifique sua conecþÒo com a internet.","") endif return .t. esta rotina da dando o seguinte erro error:1001 Subc : 3 OScode:0 SubSystem:CDO.message Mensagem>DISP_C_MEMBERNOTFOUND ai eu fico sem saber onde ver, tem como voce vr se na adaptacao eu errei en alguma coisa. nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
CIACPD Posted December 7, 2009 Report Share Posted December 7, 2009 Usuário não encontrado. tente só com o nome macedo.marcos e senha sem @... Daniel Segura Quote Link to comment Share on other sites More sharing options...
mamp Posted December 8, 2009 Author Report Share Posted December 8, 2009 daniel, apesar de achar estranho, mas fiz e o erro continua, temum email ou um telefone pra gente ver pessoalmente pois por aqui a uma demora pra ir e vir as mensagens nao uso WS Marcos Macedo(Recife-PE) macedomarcos@hotmail.com Quote Link to comment Share on other sites More sharing options...
dnunes Posted December 9, 2009 Report Share Posted December 9, 2009 Olá pessoal. Adaptei a primeira rotina que o kapiaba postou nesse tópico para um dos meus programas, porém na primeira tentativa de enviar o email o oMail:nRetCode me retorna 2. Se logo depois eu tento enviar ele vai sem problemas. O que esse retorno significa? Dei uma procurada na internet e não encontrei. E como poderia arrumar essa situação? Obrigado pela ajuda! EDIT: Pra dublar essa situação eu coloquei um FOR... mas eu queria saber o pq desse erro estranho. Douglas Nunes Santo André/SP xHB build 1.1.0 (SimpLex) & BCC 5.5.1 & FW 8.08 "Do or do Not. There is no Try." Editado por - dnunes on 09/12/2009 17:20:07 Quote Link to comment Share on other sites More sharing options...
CIACPD Posted December 10, 2009 Report Share Posted December 10, 2009 Abaixo está o link de onde eu baixei a CDOSYS http://www.box.net/shared/o7oxcfqlsm Junto ao fonte esta um exemplo funcional onde poderá digitar os parametros e testar se esta correto ou não. Daniel Segura 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.