Same here with: Harbour 2.0.0beta3 (Rev. 12472) Copyright (c) 1999-2009, http://www.harbour-project.org/
Harbour Build Info --------------------------- Version: Harbour 2.0.0beta3 (Rev. 12472) Compiler: GNU C 4.3.3 (32-bit) Platform: Linux 2.6.28-15-generic i686 PCode version: 0.2 the prg hang, how i test it... I have create a file testmail.prg with this content.... ------------------------------------------------------------------------------------------- procedure main local cServer := "192.168.100.18" local nPort := 25 local cFrom := "marco...@mypc" local aTo := {"marco...@mypc"} local aCC := {"marco...@mypc"} local aBCC := {"marco...@mypc"} local cBody := "test" local cSubject := "Test from Harbour..." local aFiles := {} local cUser := "marcobra" local cPass := "" local cPopServer := "192.168.100.18" local nPriority := 3 local lRead := .f. local bTrace := .t. local lPopAuth := .f. local lNoAuth := .f. local nTimeOut := 2000 local cReplyTo := "marco...@mypc" local lTLS := .f. local cSMTPPass := "" ? "sending mail" hb_SendMail( cServer, nPort, cFrom, aTo, aCC, aBCC, cBody, cSubject, aFiles, cUser, cPass, cPopServer, nPriority, lRead, bTrace, lPopAuth, lNoAuth, nTimeOut, cReplyTo, lTLS, cSMTPPass ) ? "finish send" return // FUNCTION hb_SendMail( cServer, nPort, cFrom, aTo, aCC, aBCC, cBody, cSubject, aFiles, cUser, cPass, cPopServer, nPriority, lRead, bTrace, lPopAuth, lNoAuth, nTimeOut, cReplyTo, lTLS, cSMTPPass ) /* cServer -> Required. IP or domain name of the mail server nPort -> Optional. Port used my email server cFrom -> Required. Email address of the sender aTo -> Required. Character string or array of email addresses to send the email to aCC -> Optional. Character string or array of email adresses for CC (Carbon Copy) aBCC -> Optional. Character string or array of email adresses for BCC (Blind Carbon Copy) cBody -> Optional. The body message of the email as text, or the filename of the HTML message to send. cSubject -> Optional. Subject of the sending email aFiles -> Optional. Array of attachments to the email to send cUser -> Required. User name for the POP3 server cPass -> Required. Password for cUser cPopServer -> Required. POP3 server name or address nPriority -> Optional. Email priority: 1=High, 3=Normal (Standard), 5=Low lRead -> Optional. If set to .T., a confirmation request is send. Standard setting is .F. bTrace -> Optional. If set to .T., a log file is created (smtp-<nNr>.log). Standard setting is NIL. If a block is passed, it will be called for each log event with the message a string, no param on session close. lPopAuth -> Optional. Do POP3 authentication before sending mail. lNoAuth -> Optional. Disable Autentication methods nTimeOut -> Optional. Number os ms to wait default 20000 (20s) cReplyTo -> Optional. lTLS -> Optional. Default .F., connect to the server using Secure Socket Layer connection (pop3s, smtps) */ ------------------------------------------------------------------------------------------- Then i compile with... hbmk2 -lhbtip -lpcre -static testmail then i run with ./testmail it hang the timeout is not working and i must kill the process from another terminal i can see this smtp.log in the same dir of running testmail 20090911-10:53:36 :INETCONNECT( 192.168.100.18, 25 ) >> <pointer> << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETSENDALL( <pointer>, 15, EHLO marcobra ) >> 15 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 220 mymailserverpc.xxx.xxx ESMTP Postfix (Ubuntu) << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250-mymailserverpc.xxx.xxx << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250-PIPELINING << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250-SIZE 153600000 << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250-VRFY << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250-ETRN << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250-STARTTLS << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250-ENHANCEDSTATUSCODES << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250-8BITMIME << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:36 :INETRECVLINE( <pointer>, , 512 ) >> 250 DSN << 20090911-10:53:36 :INETERRORCODE( <pointer> ) >> 0 << 20090911-10:53:37 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:37 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:38 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:38 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:39 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:39 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:40 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:40 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:41 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:41 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:42 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:42 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:43 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:43 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:44 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:44 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:45 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:45 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:46 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:46 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:47 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:47 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:48 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:48 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:49 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:49 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:50 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:50 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:51 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:51 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:52 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:52 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:53 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:53 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:54 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:54 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:55 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:55 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:56 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:56 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:57 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:57 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:58 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:58 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:53:59 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:53:59 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:00 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:00 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:01 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:01 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:02 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:02 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:03 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:03 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:04 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:04 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:05 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:05 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:06 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:06 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:07 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:07 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:08 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:08 :INETERRORCODE( <pointer> ) >> -1 << 20090911-10:54:09 :INETRECVLINE( <pointer>, , 512 ) >> << 20090911-10:54:09 :INETERRORCODE( <pointer> ) >> -1 << _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour