remind.c

Go to the documentation of this file.
00001 #include <sys/types.h>
00002 #include <sys/socket.h>
00003 #include <netinet/in.h>
00004 #include <arpa/inet.h>
00005 #include <stdio.h>
00006 #include <stdlib.h>
00007 #include <string.h>
00008 #include <unistd.h>
00009 #include <netdb.h>
00010 
00011 #include "lpbot.h"
00012 
00021 int remind(lp_user *user)
00022 {
00023         struct hostent host;
00024         struct sockaddr_in conn;
00025         lp_server *server = g_new0(lp_server, 1);
00026 
00027         lp_resolve("localhost", &host);
00028         server->sock = lp_create_sock();
00029         conn.sin_family = AF_INET;
00030         conn.sin_port = htons(25);
00031         conn.sin_addr = *((struct in_addr *) host.h_addr);
00032         memset(&(conn.sin_zero), 0, 8);
00033         if(connect(server->sock, (struct sockaddr *)&conn, sizeof(struct sockaddr))<0)
00034         {
00035                 perror("connect");
00036                 return -1;
00037         }
00038         lp_send(server, "HELO localhost");
00039         lp_send(server, "MAIL FROM: lpbot@vmiklos.hu");
00040         lp_send(server, "RCPT TO: %s", user->email);
00041         lp_send(server, "DATA");
00042         lp_send(server, "From: lpbot@vmiklos.hu");
00043         lp_send(server, "To: %s", user->email);
00044         lp_send(server, "Subject: password reminder from lpbot");
00045         lp_send(server, "");
00046         lp_send(server, "Your password is '%s'.", user->pass);
00047         lp_send(server, ".");
00048         lp_send(server, "QUIT");
00049         close(server->sock);
00050         return 0;
00051 }
00052 /* @} */

Generated on Mon May 19 15:36:55 2008 for lpbot by  doxygen 1.5.4