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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? inetserverdlg.cpp.bak

?? email client and support pop3、smtp、imap protocol.
?? BAK
?? 第 1 頁 / 共 5 頁
字號(hào):
// 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') 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
伦理电影国产精品| 六月婷婷色综合| 日韩一二在线观看| 成人精品视频一区二区三区| 亚洲高清免费观看| 国产亚洲一二三区| 在线一区二区观看| 国产美女主播视频一区| 亚洲图片欧美综合| 亚洲精品在线网站| 欧美日韩亚州综合| 99精品在线免费| 国产一区在线观看视频| 亚洲成人黄色影院| 国产精品久久久久久久久果冻传媒| 717成人午夜免费福利电影| 成人免费毛片aaaaa**| 日本中文一区二区三区| 亚洲精品视频免费观看| 欧美经典一区二区| 精品国产一区二区三区久久久蜜月| 欧美亚洲综合一区| 91网页版在线| 成人激情图片网| 国产在线日韩欧美| 免费亚洲电影在线| 午夜激情久久久| 亚洲精品视频在线观看网站| 国产精品天天摸av网| 精品福利一区二区三区免费视频| 欧美精品乱人伦久久久久久| 色狠狠色噜噜噜综合网| 国产98色在线|日韩| 精品一区二区精品| 久久精品国产99久久6| 午夜激情久久久| 性做久久久久久久免费看| 一区二区三区中文在线观看| 中文字幕一区二区三区视频| 中文字幕乱码亚洲精品一区| 日韩精品专区在线影院重磅| 91精品免费在线| 3atv一区二区三区| 欧美日本乱大交xxxxx| 色婷婷精品久久二区二区蜜臀av| 99精品黄色片免费大全| 91在线播放网址| 一本到不卡精品视频在线观看| 99视频精品在线| 91免费国产在线| 一本一道久久a久久精品| 97aⅴ精品视频一二三区| 99视频一区二区| 色av综合在线| 欧美午夜视频网站| 欧美日韩国产一二三| 91精品综合久久久久久| 日韩一区二区三区视频在线| 日韩三级中文字幕| 久久久亚洲综合| 国产精品免费看片| 亚洲人成网站在线| 亚洲国产三级在线| 青青青伊人色综合久久| 国产综合色产在线精品| 国产盗摄一区二区| 一本大道久久a久久综合| 欧美在线播放高清精品| 在线播放国产精品二区一二区四区| 欧美人与z0zoxxxx视频| 精品国偷自产国产一区| 欧美国产精品一区二区三区| 成人欧美一区二区三区黑人麻豆| 亚洲视频在线观看一区| 偷拍一区二区三区| 韩国女主播一区二区三区| 白白色 亚洲乱淫| 欧美色欧美亚洲另类二区| 日韩免费看的电影| 中文字幕一区二区三区蜜月| 亚洲国产精品自拍| 韩国一区二区在线观看| www.日本不卡| 欧美日韩在线播放| 国产亚洲精品精华液| 亚洲精选一二三| 青青青伊人色综合久久| 懂色av一区二区三区免费看| 欧美亚洲综合一区| 久久天天做天天爱综合色| 亚洲精品亚洲人成人网| 国产一区啦啦啦在线观看| 91美女片黄在线观看| 日韩欧美第一区| 亚洲麻豆国产自偷在线| 久久99国产精品免费网站| 色狠狠一区二区三区香蕉| 精品福利一区二区三区免费视频| 亚洲精品中文在线观看| 国产麻豆91精品| 欧美精品久久久久久久多人混战 | 日韩亚洲欧美中文三级| 中文字幕欧美日本乱码一线二线| 天涯成人国产亚洲精品一区av| 成人黄色国产精品网站大全在线免费观看| 欧美少妇一区二区| 国产精品久久久久影视| 欧美日韩精品欧美日韩精品一综合| 精品捆绑美女sm三区| 一区二区三区在线观看视频| 国产精品综合二区| 欧美久久久久久蜜桃| 亚洲欧洲99久久| 国产一区二区在线影院| 欧美日韩激情一区二区| 日韩美女精品在线| 国产成人在线视频网址| 91精品国产欧美一区二区18 | 色乱码一区二区三区88| 国产亚洲欧美日韩俺去了| 毛片av中文字幕一区二区| 色综合久久久久综合体桃花网| 欧美激情在线看| 国产在线播精品第三| 欧美一二三区在线观看| 亚洲高清免费一级二级三级| 91麻豆福利精品推荐| 国产精品国产三级国产aⅴ入口 | 国产一区二区三区在线观看精品| 在线电影院国产精品| 一区二区三区在线不卡| a亚洲天堂av| 中文字幕不卡三区| 国产剧情一区二区三区| 久久亚洲一级片| 狠狠色丁香久久婷婷综合_中| 日韩一区二区在线观看视频播放| 亚洲午夜精品17c| 欧美日韩视频专区在线播放| 亚洲一区二区在线免费看| 在线免费观看成人短视频| 亚洲免费观看高清完整版在线观看 | 亚洲一卡二卡三卡四卡五卡| 色欲综合视频天天天| 亚洲人成精品久久久久久 | 欧美日韩国产成人在线91| 一区二区免费看| 91国产福利在线| 亚洲资源中文字幕| 欧美精选午夜久久久乱码6080| 一区二区三区在线视频观看58| 91久久精品网| 亚洲高清在线视频| 777xxx欧美| 九九九久久久精品| 国产女主播一区| 99久久伊人久久99| 亚洲欧美另类综合偷拍| 欧美日韩综合在线| 蜜臀av一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲 | 欧美亚洲综合久久| 亚洲18女电影在线观看| 日韩欧美一区二区在线视频| 激情都市一区二区| 国产精品视频在线看| 色狠狠色噜噜噜综合网| 日韩精品三区四区| 久久看人人爽人人| 色综合久久久久久久久| 日韩国产欧美在线视频| 久久免费午夜影院| 91麻豆国产在线观看| 日韩成人av影视| 国产欧美视频在线观看| 日本高清成人免费播放| 麻豆精品久久精品色综合| 国产精品美女一区二区在线观看| 欧洲另类一二三四区| 久久av资源网| 18涩涩午夜精品.www| 欧美二区三区91| 成人精品免费看| 天天色 色综合| 中文字幕欧美激情一区| 欧美日韩国产在线观看| 国产精品亚洲第一区在线暖暖韩国 | 制服丝袜亚洲色图| 国产精品一区二区黑丝| 亚洲国产成人tv| 国产精品污www在线观看| 欧美日韩黄色影视| 成人晚上爱看视频| 热久久久久久久| 亚洲免费在线播放| 久久久精品天堂| 69久久99精品久久久久婷婷| 国产·精品毛片| 麻豆国产精品一区二区三区| 亚洲三级免费电影|