#ifdef WIN32
#include <winsock2.h>
#else
#include <sys/socket.h>
#include <netinet/in.h>
#endif
int main ()
{
int sd;
char response[ 100 ];
struct sockaddr_in serveraddr;
sd = socket ( AF_INET, SOCK_STREAM, 0 );
memset ( &serveraddr, 0, sizeof ( serveraddr ) );
serveraddr.sin_family = AF_INET;
serveraddr.sin_port = htons ( 25 );
serveraddr.sin_addr.s_addr = inet_addr ( "127.0.0.1" );
connect ( sd, ( struct sockaddr* ) &serveraddr,
sizeof ( serveraddr ) );
memset ( response, 0, 100 );
read ( sd, response, 100 );
printf ( "%s", response );
write ( sd, "mail from: jpee@localhost.com\n", 30 );
memset ( response, 0, 100 );
read ( sd, response, 100 );
printf ( "%s", response );
write ( sd, "rcpt to: jpee@localhost\n", 24 );
memset ( response, 0, 100 );
read ( sd, response, 100 );
printf ( "%s", response );
write ( sd, "data\n", 5 );
memset ( response, 0, 100 );
read ( sd, response, 100 );
printf ( "%s", response );
write ( sd, "test\n", 5 );
write ( sd, ".\n", 2 );
memset ( response, 0, 100 );
read ( sd, response, 100 );
printf ( "%s", response );
write ( sd, "quit\n", 5 );
memset ( response, 0, 100 );
read ( sd, response, 100 );
printf ( "%s", response );
return ( 0 );
}
End of Listing