smtp mail sender



#include <windows.h>

int main(void)
{
 int message_length;
 char message[100]="this is a test message";
 char buffer[100];
   
 SOCKET sockfd;WSADATA wsaData;
   
 struct sockaddr_in dest_addr;
     
 WSAStartup(MAKEWORD(2, 0),&wsaData);  
 sockfd=socket(AF_INET,SOCK_STREAM,0);
    
 dest_addr.sin_family=AF_INET;
 dest_addr.sin_port=htons(25);
 dest_addr.sin_addr.s_addr=inet_addr("192.168.1.1");   
 connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(dest_addr));  

 strcpy(buffer,"HELO abc.com\n");  
 send(sockfd, buffer, (strlen(buffer)), 0); 
 recv(sockfd, buffer, (strlen(buffer)), 0);
 sleep(500); 
  
 strcpy(buffer,"MAIL FROM:<abc@yahoo.com>\n");
 send(sockfd, buffer, (strlen(buffer)), 0);
 recv(sockfd, buffer, (strlen(buffer)), 0);
 sleep(500);
  
 strcpy(buffer,"RCPT TO:<abc@zyz.com>\n");   
 send(sockfd, buffer, (strlen(buffer)), 0);
 recv(sockfd, buffer, (strlen(buffer)), 0);
 sleep(500);
 
 strcpy(buffer,"DATA\n"); 
 send(sockfd, buffer, (strlen(buffer)), 0);
 recv(sockfd, buffer, (strlen(buffer)), 0);
 sleep(500);
  
 strcpy(buffer,"To:abc@zyz.com\n");
 strcat(buffer,"From:abc@yahoo.com\n"); 
 strcat(buffer,"Subject:test mail\n");
 send(sockfd, buffer, (strlen(buffer)), 0);
 
 memset(&buffer, 0, sizeof(buffer));
 strcat(buffer,message);
 strcat(buffer,"\n.\n");
 send(sockfd, buffer, (strlen(buffer)), 0);
 recv(sockfd, buffer, (strlen(buffer)), 0);
 sleep(500);
  
 strcpy(buffer,"QUIT\n"); 
 send(sockfd, buffer, (strlen(buffer)), 0);
 recv(sockfd, buffer, (strlen(buffer)), 0);
 sleep(500);        
 
 closesocket(sockfd);
 WSACleanup();
 
 return (0);
}

posted on 2011-03-08 22:37 挑灯看剑 阅读(370) 评论(0)  编辑 收藏 引用 所属分类: C/C++

只有注册用户登录后才能发表评论。
<2011年3月>
272812345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

公告

【自我介绍】 08年南开大学硕士毕业 最近关注:算法、Linux、c++、高并发 爱好:滑旱冰、打乒乓球、台球、保龄球

常用链接

随笔分类(139)

文章分类

我常去的网站

技术博客(都是大牛)

技术站点

搜索

积分与排名