On 2006-07-17, Diana <[EMAIL PROTECTED]> wrote:
> I'm trying to connect to the yahoo smtp server so that i can pass emails but 
> I can't seem to connect.  I use a treo 650, can anyone look at the following 
> code to see what's wrong??
>  NetHostInfoBufPtr hostInfoBufP = NULL;
>  NetHostInfoPtr hostInfoP = NULL;
>  NetIPAddr address = 0;
>  NetIPAddr *addressP = NULL;
>
>  NetServInfoBufPtr servInfoBufP = NULL;
>  NetServInfoPtr servInfoP = NULL;
>  UInt16 port = 0;
>  UInt16 *portP = NULL;
>
>  NetSocketRef sockRef;
>  NetSocketAddrINType inetAddrP;
>
>  Int16 results;
>
> errno = NetLibOpen(gNetRefNum, &ifErrs);
>    if (!errno){
>     hostInfoBufP = (NetHostInfoBufPtr) MemPtrNew 
> (sizeof(NetHostInfoBufType));
>     hostInfoP = NetLibGetHostByName(gNetRefNum, "mail.yahoo.com", 
> hostInfoBufP, 120 * SysTicksPerSecond(), &ifErrs);
>     if (hostInfoP != 0){
>      addressP = (NetIPAddr*) hostInfoP->addrListP[0];
>      address = NetNToHL(*addressP);
>     }
>     servInfoBufP = (NetServInfoBufPtr) MemPtrNew 
> (sizeof(NetServInfoBufType));
>     servInfoP = NetLibGetServByName (gNetRefNum, "smtp", "tcp", 
> servInfoBufP, 60 * SysTicksPerSecond(), &ifErrs);
>
>     if (servInfoP!=0){
>      port = servInfoP->port;
>         }
>      sockRef = NetLibSocketOpen(gNetRefNum, netSocketAddrINET, 
> netSocketTypeStream, 0, 60 * SysTicksPerSecond(), &ifErrs);
>
>     if (sockRef!= 0){
>      inetAddrP.family = netSocketAddrINET;
>      inetAddrP.port = NetHToNS(port);
>      inetAddrP.addr = NetHToNL(address);
>      FrmAlert(noAnswer);
>     }
>
>     results = NetLibSocketConnect(gNetRefNum, sockRef, (NetSocketAddrType *) 
> &inetAddrP, sizeof(inetAddrP), 60 * SysTicksPerSecond(), &ifErrs);
>
>     if (results == 0)
>      FrmAlert(resAlertPhoneLibrary);
>    else {
>      if (ifErrs == 0)
>       FrmAlert(err16);
>      else if (ifErrs == netErrTimeout)
>       FrmAlert(err1);
> }
>
> For some reason I keep getting netErrTimeout.  But even if I changed the 
> timeout to be 5 minutes it's still timing out....anyone know what I'm doing 
> wrong? 

Just note that NetLibOpen can return the error(?) netErrAlreadyOpen. In that 
case none of your following code is executed.
Also why don't you hardcode the smtp port number (25) ?

HTH

Ton van OverbeekZ 

-- 
For information on using the PalmSource Developer Forums, or to unsubscribe, 
please see http://www.palmos.com/dev/support/forums/

Reply via email to