亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? inetserverdlg.cpp.bak

?? email client and support pop3、smtp、imap protocol.
?? BAK
?? 第 1 頁 / 共 5 頁
字號:
// InetServerDlg.cpp : implementation file
//

//This is InetServ. :-)

//Under development by Bruce Peresky (1999/2000) Origional
//Design by Thomas Kuiper
//MAPI support by Mohamed Yasin
//DNS Lookup based on the code of David Lawlor

//NO WARRANTY!
//
//BECAUSE THE PROGRAM AND SOURCE IS FREE OF CHARGE, THERE IS NO WARRANTY
//FOR THIS, THE PROGRAM AND SOURCE IS PROVIDED "AS IS" WITHOUT
//WARRANTY OF ANY KIND, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 
//THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
//SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
//SERVICING, REPAIR OR CORRECTION.
//INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY
//TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
//RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE
//OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
//OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
//

#include "stdafx.h"
#include "InetServer.h"
#include "InetServerDlg.h"
#include "Pop2cmc.h"   //- MAPI forwarder by yasin
#include "wrap2cmc.h"   //- MAPI cmc wrapper include
#include <direct.h> //used for mkdir
#include "dnsmx.h" 
#include "tools.h"
#include "mapicfg.h"
#include "base64str.h"

#define CURVER "3.1" //increment here
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern Wrap2CMC CMCObject ;  //- MAPI CMC wrapper object

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
#define WM_MY_TRAY_NOTIFICATION WM_USER+0 //this is for the cool little icon
#define WM_ADDLOG WM_USER+1 //and this is for logging of the smtp sender thread
#define WM_CLOSEWEB WM_USER+2

static CString statLogStr; //for logging



class CAboutDlg : public CDialog
{
public:
	CAboutDlg();
	CInetServerDlg* m_pDoc;
	// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	CStatic	mc_about;
	CButton	mc_ok;
	CString	m_ver;
	//}}AFX_DATA
	
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL
	
	// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	afx_msg void OnOk();
	afx_msg void OnReg();
	virtual BOOL OnInitDialog();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	m_ver = _T("");
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	DDX_Control(pDX, IDC_ABOUT, mc_about);
	DDX_Control(pDX, IDOK, mc_ok);
	DDX_Text(pDX, IDC_S, m_ver);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
ON_BN_CLICKED(IDOK, OnOk)
ON_BN_CLICKED(IDC_REG, OnReg)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

//global exchange via threads:

static int SMTPtodo = 0;
static int SMTPbusy = 0;
CArray<SMTPForwardInfo,SMTPForwardInfo> SMTPForwardList;
static HANDLE pop3threadhandle[20];

static unsigned long POP3ThreadID[20];
static char pop3fname[20][255];
static CClientSocket *pop3pSocket[20];
static int pop3threadcount = 0;


int SendSmtpMail(int litem);
int SendPop3Mail(int num);
int SendErrorMail(int curitem);

int SendPop3Mail(int num)
{
	BOOL doabort = FALSE;

	if (num >= 100)
	{
		doabort = TRUE;
		num = num -100;

	}
	
	FILE *outmail;
	char outstr[255];
	int err = 0;
	
	if( (outmail= fopen(pop3fname[num], "rb" )) != NULL )
	{
		
		while (!feof(outmail))
		{
			
			fgets(outstr,255,outmail);
			outstr[strlen(outstr)-2] = '\n';
			outstr[strlen(outstr)-1] = '\0';
			
			if (!feof(outmail))
			{	
				
				pop3pSocket[num]->Send (outstr,strlen(outstr),0);
				err = GetLastError();
				
				if(err == WSAEWOULDBLOCK)
				{
					while(err == WSAEWOULDBLOCK)
					{
						pop3pSocket[num]->Send (outstr,strlen(outstr),0);
						err = GetLastError();
					}
					
					
				}
				
				if(err == WSANOTINITIALISED   ){ break;}
				if(err == WSAENETDOWN   ) {break;}
				if(err == WSAEACCES   ){ break;}
				if(err == WSAEINPROGRESS   ){ break;}
				if(err == WSAEFAULT   ){ break;}
				if(err == WSAENETRESET   ) {break;}
				if(err == WSAENOBUFS   ){ break;}
				if(err == WSAENOTCONN   ) {break;}
				if(err == WSAENOTSOCK   ) {break;}
				if(err == WSAEOPNOTSUPP   ){ break;}
				if(err == WSAESHUTDOWN   ){ break;}
				if(err == WSAEMSGSIZE   ){ break;}
				if(err == WSAEINVAL   ){ break;}
				if(err == WSAECONNABORTED   ){ break;}
				if(err == WSAECONNRESET   ) {break;}
				
			}
		}
		fclose(outmail);
		
	}						
	
	if (doabort == TRUE)
	{
	
		SendMessage(AfxGetMainWnd()->m_hWnd,WM_CLOSEWEB,num,0);
				
	}


	pop3threadcount--;
	CloseHandle(pop3threadhandle[num]);
	return 0;
}

void SmtpSender()
{
	time_t the_time;
	char temps[255];
	char tempstr1[255];
	int curitem = -1;
	for (;;)
	{
		
		
		Sleep(1000); //zzz, every second we check if we should send a mail
		
		
		
		
		sprintf(tempstr1,"%s",GetReg("Software\\InetServ","RelayType"));
		if (atoi(tempstr1) != -1)
		{
			
			
			
			
			if(SMTPForwardList.GetSize()>0)
			{
				
				
				for (int li= 0;li<=SMTPForwardList.GetSize()-1;li++)
				{
					
					
					
					
					
					curitem = li;
					if (SMTPForwardList[curitem].error == 0)
					{
						
						SMTPForwardList[curitem].sendnr = 0;
						statLogStr = "Trying to send mail (" + SMTPForwardList[curitem].Rcpt +")"; 
						SendMessage(AfxGetMainWnd()->m_hWnd,WM_ADDLOG,0,0);
						
						if (SendSmtpMail(curitem) == 0)
						{
							DeleteFile(SMTPForwardList[curitem].Fname);
							statLogStr = "Successfull SMTP mail send (" + SMTPForwardList[curitem].Rcpt +")"; 
							SendMessage(AfxGetMainWnd()->m_hWnd,WM_ADDLOG,0,0);
							SMTPForwardList.RemoveAt(curitem);
							break;
						}
						else
						{
							statLogStr = "Sending of SMTP mail (" + SMTPForwardList[curitem].Rcpt +") failed the first time."; 
							SendMessage(AfxGetMainWnd()->m_hWnd,WM_ADDLOG,0,0);
							time(&the_time);
							SMTPForwardList[curitem].timestamp = the_time;
							SMTPForwardList[curitem].error= 1;
							SMTPForwardList[curitem].sendnr++;
						}
						
						
						
						
					}
					else
					{
						
						sprintf(temps,"%s",GetReg("Software\\InetServ","RelaySMTPMaxtries"));
						if ((atoi(temps)) < SMTPForwardList[curitem].sendnr)
						{
							statLogStr = "Send mail (" + SMTPForwardList[curitem].Rcpt +") not possible after maximum tries.";
							SendMessage(AfxGetMainWnd()->m_hWnd,WM_ADDLOG,0,0);
							SendErrorMail(curitem);
							DeleteFile(SMTPForwardList[curitem].Fname);
							SMTPForwardList.RemoveAt(curitem);
							break;
						}
						
						time(&the_time);
						
						double tx = atof(GetReg("Software\\InetServ","RelaySMTPTryTime"));
						
						
						if (difftime(the_time,SMTPForwardList[curitem].timestamp) > tx*60)
						{
							statLogStr = "Trying to send failed mail again (" + SMTPForwardList[curitem].Rcpt +")"; 
							SendMessage(AfxGetMainWnd()->m_hWnd,WM_ADDLOG,0,0);
							
							SMTPForwardList[curitem].error = 0;
							
							if (SendSmtpMail(curitem) == 0)
							{
								statLogStr = "Successfull SMTP mail send (" + SMTPForwardList[curitem].Rcpt +")"; 
								SendMessage(AfxGetMainWnd()->m_hWnd,WM_ADDLOG,0,0);
								DeleteFile(SMTPForwardList[curitem].Fname);
								SMTPForwardList.RemoveAt(curitem);
								break;
							}
							else
							{
								time(&the_time);
								SMTPForwardList[curitem].timestamp = the_time;
								SMTPForwardList[curitem].error= 1;
								SMTPForwardList[curitem].sendnr++;
								statLogStr = "Could not send " + SMTPForwardList[curitem].Rcpt; 
								SendMessage(AfxGetMainWnd()->m_hWnd,WM_ADDLOG,0,0);
								
								
							}
							
						}
						
						
					}
					
					
					
					
				}
			}
		}
		
	}
}


int SendSmtpMail(int litem) //relay
{
	
	SOCKET         hServer;
	char           szBuffer[4096];
	SOCKADDR_IN    SockAddr;
	
	WSADATA        WSData;
	
	
	LPHOSTENT      lpHostEntry;
	int            iProtocolPort;
	char           ServerName[255];
	sprintf(ServerName,"%s",GetReg("Software\\InetServ","RelaySMTPName"));
	
	
	if ( WSAStartup(MAKEWORD(1, 1), &WSData) ) 
	{
		return 1;
	}
	
	lpHostEntry = gethostbyname(ServerName );
	if (lpHostEntry == NULL) 
	{
		WSACleanup();return 1;
		
	}
	
	hServer = socket( PF_INET, SOCK_STREAM, 0); 
	if (hServer == INVALID_SOCKET) 
	{
		closesocket( hServer );	WSACleanup();return 1;
		
	}
	
	
	
	
	
	
	
	
	iProtocolPort = htons(25);
	
	SockAddr.sin_family = AF_INET;
	SockAddr.sin_port = iProtocolPort;
	SockAddr.sin_addr = *((LPIN_ADDR)*lpHostEntry->h_addr_list);
	
	
	
	int stimeout = 60000;
	int rtimeout = 60000;
	
	int err;
	
	if (stimeout != 0) 
	{
		err = setsockopt(  hServer ,      SOL_SOCKET,     SO_SNDTIMEO,
			(char *)&stimeout,  sizeof(stimeout));
		if (err != NO_ERROR) 
		{
			closesocket( hServer );	WSACleanup();return 1;
			return 1;
		}
		
	}
	
	if (rtimeout != 0) 
	{
		err = setsockopt(  hServer ,      SOL_SOCKET,     SO_RCVTIMEO,
			(char *)&rtimeout,  sizeof(rtimeout));
		
		if (err != NO_ERROR) 
		{
			closesocket( hServer );	WSACleanup();return 1;
			
		}
		
	}
	if (connect( hServer, (PSOCKADDR) &SockAddr, sizeof(SockAddr)))
	{
		closesocket( hServer );	WSACleanup();return 1;
		
	}
	
	//AskError();
	
	
	int cnt = recv( hServer, szBuffer, sizeof(szBuffer), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	if (szBuffer[0] != '2') 
	{
		closesocket( hServer );	WSACleanup();return 1;
		
	}
	
	
	char sendstr[255];
	
	
	
	sprintf(sendstr,"HELO %s\r\n",GetReg("Software\\InetServ","SMTPHeloName"));
	cnt = send( hServer, sendstr, strlen(sendstr), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	cnt = recv( hServer, szBuffer, sizeof(szBuffer), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	if (szBuffer[0] != '2') 
	{
		closesocket( hServer );	WSACleanup();return 1;
		
	}
	
	
	sprintf(sendstr,"%s",SMTPForwardList[litem].Sender);
	cnt = send( hServer, sendstr, strlen(sendstr), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	cnt = recv( hServer, szBuffer, sizeof(szBuffer), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	if (szBuffer[0] != '2') 
	{
		closesocket( hServer );	WSACleanup();
		return 1;
	}
	
	
	
	sprintf(sendstr,"%s\r\n",SMTPForwardList[litem].Rcpt);
	cnt = send( hServer, sendstr, strlen(sendstr), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	cnt = recv( hServer, szBuffer, sizeof(szBuffer), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	if (szBuffer[0] != '2') 
	{
		closesocket( hServer );	WSACleanup();
		return 1;
	}
	
	
	sprintf(sendstr,"DATA\r\n");
	
	cnt = send( hServer, sendstr, strlen(sendstr), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	cnt = recv( hServer, szBuffer, sizeof(szBuffer), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	if (szBuffer[0] != '3')
	{
		closesocket( hServer );	WSACleanup();
		return 1;
	}
	
	
	
	FILE *fp = fopen(SMTPForwardList[litem].Fname,"rb");
	
	if (fp == NULL) {closesocket( hServer );	WSACleanup();return 1;}
	char tempstr[255];
	while(!feof(fp))
	{
		fgets(tempstr,255,fp);
		tempstr[strlen(tempstr)-2] = '\n';
		tempstr[strlen(tempstr)-1] = '\0';
		
		if (!feof(fp))
		{
			
			cnt = send( hServer, tempstr, strlen(tempstr), 0);
			if (cnt == SOCKET_ERROR){ fclose(fp);	closesocket( hServer );	WSACleanup();return 1;}
			
		}
		
	}
	fclose(fp);
	
	cnt = recv( hServer, szBuffer, sizeof(szBuffer), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	if (szBuffer[0] != '2')
	{
		closesocket( hServer );	WSACleanup();
		
		return 1;
	}
	
	
	
	sprintf(sendstr,"QUIT\r\n");
	
	cnt = send( hServer, sendstr, strlen(sendstr), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	cnt = recv( hServer, szBuffer, sizeof(szBuffer), 0);
	
	if (cnt == SOCKET_ERROR){ 	closesocket( hServer );	WSACleanup();return 1;}
	
	if (szBuffer[0] != '2') 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲444eee在线观看| 精品福利视频一区二区三区| 亚洲欧美日韩综合aⅴ视频| 99久久99久久免费精品蜜臀| 国产精品美女www爽爽爽| 成人99免费视频| 亚洲激情在线激情| 日韩一区二区在线看片| 国产又粗又猛又爽又黄91精品| 国产清纯白嫩初高生在线观看91 | 欧美嫩在线观看| 日韩极品在线观看| 久久亚洲捆绑美女| 色婷婷综合激情| 午夜久久久久久久久| 日韩精品一区二区三区三区免费 | 日本一不卡视频| 欧美精品一区二区在线观看| 高清不卡一二三区| 亚洲一区在线观看视频| 精品久久一二三区| 91麻豆视频网站| 久久99热这里只有精品| 亚洲欧洲av在线| 6080日韩午夜伦伦午夜伦| 国产福利不卡视频| 性做久久久久久免费观看 | 欧美激情一区二区三区| 色呦呦日韩精品| 久久精品国产色蜜蜜麻豆| 中文字幕不卡三区| 欧美乱妇一区二区三区不卡视频| 国产精品系列在线观看| 亚洲一区影音先锋| 国产清纯在线一区二区www| 欧美日韩亚洲综合| youjizz国产精品| 另类综合日韩欧美亚洲| 亚洲美女淫视频| 久久精品人人做| 欧美日韩免费一区二区三区| 成人黄色大片在线观看| 免费欧美高清视频| 一区二区激情小说| 国产精品久久夜| 久久精品视频在线免费观看| 欧美精品 国产精品| 91网页版在线| 国产.欧美.日韩| 激情图片小说一区| 日本成人在线不卡视频| 一区二区三区欧美日| 国产欧美日韩三区| 2欧美一区二区三区在线观看视频| 欧美影视一区在线| 色综合久久久久久久久久久| 国产成人自拍高清视频在线免费播放| 日产国产欧美视频一区精品| 亚洲激情网站免费观看| 国产精品久久毛片| 久久亚洲综合av| 久久影院午夜片一区| 欧美大片一区二区| 91精品国产91久久综合桃花| 欧美日韩国产一级| 欧美主播一区二区三区美女| 一本久久a久久精品亚洲| av午夜一区麻豆| 99久久综合国产精品| 99这里都是精品| av动漫一区二区| 99久久99久久精品免费看蜜桃| 成人精品视频.| 99久久伊人精品| 一本大道久久a久久精二百| 91老师片黄在线观看| 91蝌蚪porny| 91成人网在线| 欧美在线一区二区三区| 欧美视频在线不卡| 欧美日韩大陆在线| 欧美一区二区三区免费视频| 91精品国产91久久久久久一区二区| 欧美日韩精品一区二区三区| 3d动漫精品啪啪| 精品国产乱码久久久久久图片| 精品国产1区二区| 国产午夜精品一区二区| 国产精品久久影院| 亚洲精品久久久蜜桃| 亚洲小说欧美激情另类| 午夜欧美一区二区三区在线播放| 日本亚洲免费观看| 国产一区二区精品久久99| 国产a视频精品免费观看| 91在线观看成人| 欧美日韩极品在线观看一区| 日韩欧美一区二区免费| 久久久久九九视频| 亚洲精品视频自拍| 日本人妖一区二区| 丰满亚洲少妇av| 欧洲av在线精品| 久久综合狠狠综合久久激情| 国产精品久久毛片a| 午夜伦理一区二区| 国内外精品视频| 91久久精品国产91性色tv | 欧洲中文字幕精品| 欧美一区二区视频网站| 久久精品人人做人人爽人人| 中文字幕综合网| 日本不卡一区二区| 东方aⅴ免费观看久久av| 欧美在线不卡视频| 久久综合久久久久88| 韩国精品一区二区| 97久久精品人人澡人人爽| 欧美女孩性生活视频| 欧美经典一区二区| 香蕉av福利精品导航 | 成人免费毛片高清视频| 欧美色精品天天在线观看视频| 欧美videofree性高清杂交| 亚洲欧美另类图片小说| 久久机这里只有精品| 色综合天天天天做夜夜夜夜做| 精品日韩av一区二区| 一区二区三区精密机械公司| 国产精选一区二区三区| 欧美精品v日韩精品v韩国精品v| 国产人成亚洲第一网站在线播放| 午夜电影网一区| 99久久免费精品| 国产亚洲成av人在线观看导航| 亚洲成人你懂的| 成人h动漫精品| 日韩欧美国产午夜精品| 亚洲一区二区在线观看视频| 成人午夜免费电影| 精品国产一区二区三区av性色| 一区二区高清视频在线观看| 成人在线视频一区| 欧美精品一区二区三| 天堂av在线一区| 欧美中文字幕不卡| 亚洲精品综合在线| av资源站一区| 欧美国产国产综合| 国产精品一区二区免费不卡| 日韩精品一区二区三区四区 | 精品欧美一区二区三区精品久久| 亚洲国产精品一区二区久久 | 国产激情视频一区二区在线观看 | 亚洲欧美综合色| 丰满岳乱妇一区二区三区| 久久久久久久久免费| 精品亚洲porn| 精品国产sm最大网站| 加勒比av一区二区| 欧美va在线播放| 国产美女在线观看一区| 26uuu色噜噜精品一区二区| 国内精品久久久久影院色| 精品蜜桃在线看| 狠狠色丁香久久婷婷综合_中 | 伊人色综合久久天天| av在线播放不卡| 中文字幕一区二区三区四区不卡 | 国产在线播放一区三区四| 欧美videos中文字幕| 国产综合色精品一区二区三区| 精品乱人伦一区二区三区| 国产一区二区伦理片| 国产欧美一区二区精品秋霞影院| 丁香婷婷深情五月亚洲| 国产精品久久久久久久午夜片| 99精品视频中文字幕| 一区二区三区91| 欧美精品高清视频| 激情欧美一区二区| 国产日韩欧美电影| 97久久超碰精品国产| 亚洲不卡一区二区三区| 日韩一级大片在线| 国产成人精品免费视频网站| 国产精品素人一区二区| 欧美性猛片xxxx免费看久爱| 日韩国产在线一| 久久九九国产精品| 91久久久免费一区二区| 日韩高清在线不卡| 日本一区二区视频在线| 一本色道久久综合亚洲91| 亚洲成人免费av| 久久综合狠狠综合久久综合88| 99久久99久久精品国产片果冻| 亚洲成国产人片在线观看| www欧美成人18+| 色视频欧美一区二区三区|