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

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

?? inetserverdlg.cpp

?? email client and support pop3、smtp、imap protocol.
?? CPP
?? 第 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.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,254,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);
	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久噜噜噜久久中文字幕色伊伊 | 久久精品久久综合| 国产精品 欧美精品| 欧美视频中文字幕| 中文字幕欧美激情一区| 午夜成人在线视频| 不卡的电影网站| 日韩一卡二卡三卡四卡| 亚洲理论在线观看| 国产成人免费xxxxxxxx| 91麻豆精品91久久久久同性| 亚洲女同ⅹxx女同tv| 国产在线播放一区三区四| 欧美少妇xxx| 国产日韩三级在线| 久久99精品久久久久久动态图| 色综合网色综合| 国产精品网曝门| 国产一区二区三区美女| 日韩一二三四区| 日韩一区精品视频| 欧美亚洲日本国产| 亚洲欧美另类综合偷拍| 成人看片黄a免费看在线| 精品福利一二区| 蜜桃一区二区三区四区| 欧美美女网站色| 亚洲图片欧美视频| 欧美午夜片在线观看| 一区二区三区四区国产精品| 99精品视频一区二区三区| 国产偷国产偷精品高清尤物| 韩国理伦片一区二区三区在线播放| 91精品久久久久久久99蜜桃 | 欧美成人欧美edvon| 亚洲va欧美va人人爽| 欧美日韩国产综合一区二区三区 | 欧美极品美女视频| 国产精品99久| 国产日韩欧美不卡| 国产v综合v亚洲欧| 最好看的中文字幕久久| 97se亚洲国产综合自在线不卡| 国产精品色在线观看| 不卡的电视剧免费网站有什么| 亚洲丝袜制服诱惑| 欧美在线制服丝袜| 爽好久久久欧美精品| 91精品国产麻豆| 精品制服美女丁香| 亚洲国产成人一区二区三区| 99精品一区二区| 亚洲午夜久久久久中文字幕久| 6080国产精品一区二区| 久久av资源站| 国产精品乱人伦一区二区| 99久久99久久久精品齐齐| 一区二区三区在线免费| 91精品欧美一区二区三区综合在| 激情综合色播激情啊| 中文字幕电影一区| 欧美午夜片在线观看| 久久精品国产精品亚洲精品| 亚洲国产精品ⅴa在线观看| 91色婷婷久久久久合中文| 天天做天天摸天天爽国产一区| 日韩三级电影网址| 成人av在线播放网址| 亚洲第四色夜色| 欧美成人一区二区三区在线观看 | 99热国产精品| 五月婷婷综合激情| 日本一区二区免费在线观看视频 | 最新国产成人在线观看| 欧美精品亚洲二区| 国产精品99久| 亚洲成a人v欧美综合天堂| 久久婷婷色综合| 91成人免费在线| 久久丁香综合五月国产三级网站| 国产精品久久久久久亚洲毛片| 欧美片网站yy| 9i在线看片成人免费| 免费在线观看成人| 综合在线观看色| www亚洲一区| 欧美三级日韩三级| 成人一道本在线| 免费国产亚洲视频| 亚洲激情第一区| 国产日韩欧美一区二区三区乱码 | 欧美色爱综合网| 成人理论电影网| 久久99精品久久久| 天堂蜜桃一区二区三区 | 日本一区二区三区高清不卡| 666欧美在线视频| 91久久线看在观草草青青| 高清视频一区二区| 国产在线国偷精品产拍免费yy| 亚洲aⅴ怡春院| 亚洲影视在线观看| 中文字幕一区在线| 久久精品网站免费观看| 日韩一二三四区| 欧美一区二区三区视频在线| 日本精品裸体写真集在线观看| 国产成+人+日韩+欧美+亚洲| 麻豆中文一区二区| 日韩av二区在线播放| 图片区日韩欧美亚洲| 亚洲综合清纯丝袜自拍| 亚洲乱码国产乱码精品精98午夜 | 在线一区二区三区四区| av影院午夜一区| 成人一级视频在线观看| 国产成人在线电影| 国产999精品久久| 国产精品2024| 成人av中文字幕| eeuss鲁片一区二区三区在线观看| 国产精品一区久久久久| 国产精品一区二区三区四区| 国产精品一区在线观看乱码| 国产激情一区二区三区| 成人午夜在线视频| 成人中文字幕电影| av中文字幕在线不卡| 91亚洲国产成人精品一区二三| aaa欧美日韩| 日本乱码高清不卡字幕| 欧美日韩高清在线播放| 欧美一区二区三区在线电影| 日韩丝袜美女视频| 久久久高清一区二区三区| 国产精品三级av在线播放| 中文字幕一区二区三区蜜月| 亚洲免费观看在线观看| 亚洲成在人线在线播放| 免费看黄色91| 国产suv精品一区二区三区| 99riav一区二区三区| 欧美日韩国产综合一区二区三区| 91精品国产高清一区二区三区蜜臀 | 日本韩国欧美在线| 欧美丰满美乳xxx高潮www| 欧美tk—视频vk| 国产精品美女视频| 亚洲1区2区3区视频| 久久精品72免费观看| 丰满少妇在线播放bd日韩电影| 91丝袜高跟美女视频| 欧美日韩国产免费| 国产三级精品三级| 亚洲色图19p| 久久精品99国产国产精| 91麻豆精品秘密| 日韩视频一区在线观看| 国产日韩欧美综合在线| 亚洲成人精品一区二区| 国产精品一级在线| 8x8x8国产精品| 国产精品欧美一级免费| 五月婷婷久久丁香| 从欧美一区二区三区| 欧美精品99久久久**| 国产精品理论在线观看| 全部av―极品视觉盛宴亚洲| 91香蕉国产在线观看软件| 欧美电影免费观看完整版| 亚洲综合图片区| 成人免费毛片片v| 日韩精品一区二区三区在线播放 | 精品国产精品一区二区夜夜嗨| 最新欧美精品一区二区三区| 精品一区在线看| 欧美日韩高清影院| 亚洲精品一二三四区| 国产精品一区二区在线看| 91精品在线麻豆| 一级女性全黄久久生活片免费| 国产成人精品影视| 欧美mv日韩mv国产网站app| 亚洲资源中文字幕| 不卡av在线网| 国产亚洲成av人在线观看导航 | 中文字幕一区二区三区乱码在线| 麻豆精品久久久| 欧美高清精品3d| 亚洲综合网站在线观看| 色综合激情五月| 中文字幕在线观看一区| 国产河南妇女毛片精品久久久 | 亚洲精品久久久久久国产精华液| 国产精品中文字幕欧美| 日韩欧美美女一区二区三区| 日日摸夜夜添夜夜添国产精品| 91国偷自产一区二区开放时间| 亚洲人成精品久久久久久| 波多野洁衣一区|