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

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

?? pop3main.cs

?? Bug管理系統
?? CS
字號:
using System;
using System.Text.RegularExpressions;
using System.Net;
using System.IO;
using System.Text;
using System.Collections.Specialized;
using System.Xml;
using System.Data;
using System.Data.SqlClient;
using System.Timers;
using System.Web;

public class POP3Main
{

	public int FetchIntervalInMinutes;

	protected string config_file;
	protected bool verbose;
	protected string MessageInputFile;
	protected string MessageOutputFile;
	protected string ConnectionString;
	protected string Pop3Server;
	protected string SubjectMustContain;
	protected string SubjectCannotContain;
	protected string FromMustContain;
	protected string FromCannotContain;
	protected string DeleteMessagesOnServer;
	protected string InsertBugUrl;
	protected string ServiceUsername;
	protected string ServicePassword;
	protected Timer timer;


	///////////////////////////////////////////////////////////////////
	public POP3Main(string config_file, bool verbose)
	{
		this.config_file = config_file;
		this.verbose = verbose;

		// Do the first fetching of messages
		do_work(null, null);
		
		// continue working
		resume();
		
	}


	///////////////////////////////////////////////////////////////////
	public void pause()
	{
		timer.Enabled = false;
	}

	///////////////////////////////////////////////////////////////////
	public void resume()
	{
		// Set up a timer so that we keep fetching messages
		timer = new System.Timers.Timer();
		timer.Elapsed+=new ElapsedEventHandler(do_work);

		// Set the timer interval
		timer.Interval=60 * 1000 * FetchIntervalInMinutes;
		timer.Enabled=true;
	}

	///////////////////////////////////////////////////////////////////
	protected void write_line(object o)
	{
		if (verbose)
		{
			Console.WriteLine(o);
		}
	}

	///////////////////////////////////////////////////////////////////
	public void do_work(object source, ElapsedEventArgs eea)
	{
		get_settings();
		fetch_messages_for_projects();
	}


	///////////////////////////////////////////////////////////////////
	protected void get_settings()
	{

		MessageInputFile = "";
		MessageOutputFile = "";
		ConnectionString = "";
		Pop3Server = "";
		SubjectMustContain = "";
		SubjectCannotContain = "";
		FromMustContain = "";
		FromCannotContain = "";
		DeleteMessagesOnServer = "";
		InsertBugUrl = "";
		ServiceUsername = "";
		ServicePassword = "";


		string filename = config_file;
		XmlTextReader tr;
		
		try
		{
			tr = new XmlTextReader(filename);
			while(tr.Read())
			{
				if (tr.Name == "add")
				{
					if (tr["key"] == "MessageInputFile")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						MessageInputFile = tr["value"];
					}
					if (tr["key"] == "MessageOutputFile")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						MessageOutputFile = tr["value"];
					}
					if (tr["key"] == "ConnectionString")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						ConnectionString = tr["value"];
					}
					else if (tr["key"] == "Pop3Server")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						Pop3Server = tr["value"];
					}
					else if (tr["key"] == "SubjectMustContain")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						SubjectMustContain = tr["value"];
					}
					else if (tr["key"] == "SubjectCannotContain")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						SubjectCannotContain = tr["value"];
					}
					else if (tr["key"] == "FromMustContain")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						FromMustContain = tr["value"];
					}
					else if (tr["key"] == "FromCannotContain")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						FromCannotContain = tr["value"];
					}
					else if (tr["key"] == "DeleteMessagesOnServer")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						DeleteMessagesOnServer = tr["value"];
					}
					else if (tr["key"] == "FetchIntervalInMinutes")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						FetchIntervalInMinutes = Convert.ToInt32(tr["value"]);
					}
					else if (tr["key"] == "InsertBugUrl")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						InsertBugUrl = tr["value"];
					}
					else if (tr["key"] == "ServiceUsername")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						ServiceUsername = tr["value"];
					}
					else if (tr["key"] == "ServicePassword")
					{
						write_line(tr["key"] + "=" + tr["value"]);
						ServicePassword = tr["value"];
					}
				}
			}
		}
		catch (Exception e) {
			write_line("Error trying to read file: " + filename);
			write_line(e);
			return;
		}
	
	}
 
	///////////////////////////////////////////////////////////////////////
	protected void fetch_messages_for_projects()
	{

		// Get the list of accounts to read

		try
		{
			string sql = @"select 
				pj_id, pj_pop3_username, pj_pop3_password 
				from projects 
				where pj_enable_pop3 = 1";

			DataSet ds = get_dataset(sql);
			foreach (DataRow dr in ds.Tables[0].Rows)
			{
				write_line ("processing project:");
				write_line(dr["pj_id"]);
				write_line(dr["pj_pop3_username"]);
				fetch_messages (
					(string) dr["pj_pop3_username"], 
					(string) dr["pj_pop3_password"], 
					(int) dr["pj_id"]);
			}
		}
		catch (Exception e) {
			write_line("Error trying to process messages");
			write_line(e);
			return;
		}

	}


	///////////////////////////////////////////////////////////////////////
	protected void fetch_messages(string user, string password, int projectid)
	{
	
		string[] messages = null;
		Regex regex = new Regex("\r\n");
		string[] test_message_text = new string[100];
		POP3Client.POP3client client = null;
		
		if (MessageInputFile == "")
		{
		
			client = new POP3Client.POP3client();

			write_line ("****connecting to server:");
			write_line (client.connect (Pop3Server));

			write_line ("sending POP3 command USER");
			write_line (client.USER (user));

			write_line ("sending POP3 command PASS");
			write_line (client.PASS (password));

			write_line ("sending POP3 command STAT");
			write_line (client.STAT () );

			write_line ("sending POP3 command LIST");
			string list;
			list = client.LIST ();
			write_line ("list follows:");
			write_line (list);
			messages = regex.Split(list);
		}
		else
		{
			write_line ("opening input file " + MessageInputFile);
			StreamReader sr = File.OpenText(MessageInputFile);
			string test_messages = sr.ReadToEnd();
			Regex test_regex = new Regex("Q6Q6\r\n");
			test_message_text = test_regex.Split(test_messages);
		}
		
	
		string message;
		int message_number = 0;
		int start;
		int end;
		
		if (MessageInputFile == "")
		{
			start = 1;
			end = messages.Length-1;
		}
		else
		{
			start = 0;
			end = test_message_text.Length;
			if (end > 99) end = 99;
		}
		
		// loop through the messages
		for (int i = start;i < end; i++) 
		{
			// fetch the message

			write_line ("i:" + Convert.ToString(i));
			if (MessageInputFile == "")
			{
				int space_pos = messages[i].IndexOf(" ");
				message_number = Convert.ToInt32(messages[i].Substring(0,space_pos));
				message = client.RETR (message_number);   
			}
			else
			{
				message = test_message_text[message_number++];
			}

			// for diagnosing problems
			if (MessageOutputFile != "")
			{
				System.IO.StreamWriter w = System.IO.File.AppendText(MessageOutputFile);	
				w.WriteLine(message);
				w.Flush();
				w.Close();
			}

			// break the message up into lines
			string [] lines = regex.Split(message);

			string from = "";
			string subject = "";

			bool encountered_subject = false;
			bool encountered_from = false;

				
			// Loop through the lines of a message.
			// Pick out the subject and body
			for (int j=0;j < lines.Length; j++)
			{

				if (lines[j].IndexOf("Subject: ") == 0 && !encountered_subject)
				{
					subject = lines[j].Replace("Subject: ","");
					encountered_subject = true;
				}
				else if (lines[j].IndexOf("From: ") == 0 && !encountered_from)
				{
					from = lines[j].Replace("From: ","");
					encountered_from = true;
				}

			} // end for each line

			write_line("\nFrom: " + from);
			write_line("Subject: " + subject);
			
			if (SubjectMustContain != "" && subject.IndexOf(SubjectMustContain) < 0)
			{
				write_line("skipping because subject does not contain: " + SubjectMustContain);
				continue;
			}

			if (SubjectCannotContain != "" && subject.IndexOf(SubjectCannotContain) >= 0)
			{
				write_line("skipping because subject cannot contain: " + SubjectCannotContain);
				continue;
			}

			if (FromMustContain != "" && from.IndexOf(FromMustContain) < 0)
			{
				write_line("skipping because from does not contain: " + FromMustContain);
				continue;
			}

			if (FromCannotContain != "" && from.IndexOf(FromCannotContain) >= 0)
			{
				write_line("skipping because from cannot contain: " + FromCannotContain);
				continue;
			}

			write_line("calling insert_bug.aspx");
			string Url = InsertBugUrl;

			// Try to parse out the bugid from the subject line
			int pos = subject.IndexOf("DO NOT EDIT THIS:");
			if (pos >= 0)
			{
				// position of colon
				pos=subject.IndexOf(":",pos);
				pos++;
				// position of close paren
				int pos2=subject.IndexOf(")",pos);
				if (pos2 > pos)
				{
					string bugid_string = subject.Substring(pos,pos2-pos);
					write_line("BUGID=" + bugid_string);
					try
					{
						int bugid = Int32.Parse(bugid_string);
						Url += "?bugid=" + Convert.ToString(bugid);
						write_line ("updating existing bug " + Convert.ToString(bugid));
					}
					catch(Exception e)
					{
						write_line("bugid not numeric " + e.Message);
					}
				}
			}

			
			string post_data = "username=" + HttpUtility.UrlEncode(ServiceUsername)
				+ "&password=" + HttpUtility.UrlEncode(ServicePassword)
				+ "&projectid=" + Convert.ToString(projectid)
				+ "&from=" + HttpUtility.UrlEncode(from)
				+ "&short_desc=" + HttpUtility.UrlEncode(subject)
				+ "&message=" + HttpUtility.UrlEncode(message);
            
            byte[] bytes = Encoding.UTF8.GetBytes(post_data);
			

			// send request to web server
			HttpWebResponse res = null;
			try 
			{
				HttpWebRequest req = (HttpWebRequest) System.Net.WebRequest.Create(Url);
				req.Method = "POST";
				req.ContentType= "application/x-www-form-urlencoded";
				req.ContentLength=bytes.Length;
				Stream request_stream = req.GetRequestStream();
				request_stream.Write(bytes,0,bytes.Length);
				request_stream.Close();
				res = (HttpWebResponse) req.GetResponse();	
			}
			catch (Exception e)
			{	
				write_line("HttpWebRequest error url=" + Url);
				write_line(e);
			}
			
			// examine response
			
			if (res != null) {
			
				int http_status = (int) res.StatusCode;
				string http_response_header = res.Headers["BTNET"];
				write_line (Convert.ToString(http_status));
				write_line (http_response_header);

				res.Close();

				// only delete message from pop3 server if we
				// know we stored in on the web server ok
				if (MessageInputFile == ""
				&& http_status == 200
				&& DeleteMessagesOnServer == "1"
				&& http_response_header.IndexOf("OK") == 0)
				{
					write_line ("sending POP3 command DELE");
					write_line (client.DELE (message_number));
				}
			}


		}  // end for each message

		
		if (MessageInputFile == "")
		{
			write_line ("\nsending POP3 command QUIT");
			write_line (client.QUIT ());
		}
		else
		{
			write_line ("\nclosing input file " + MessageInputFile);
		}

	}

	///////////////////////////////////////////////////////////////////////
	protected DataSet get_dataset(string sql)
	{

		DataSet ds = new DataSet();
		SqlConnection conn = new SqlConnection(ConnectionString);
		conn.Open();		
		SqlDataAdapter da = new SqlDataAdapter(sql, conn);
		da.Fill(ds);
		return ds;
	}
};

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产综合久久久久影院| 日韩精品资源二区在线| 欧美电影一区二区| 国产蜜臀97一区二区三区| 日韩av电影免费观看高清完整版| 国产成人免费av在线| 欧美一级精品在线| 亚洲一级片在线观看| 波多野结衣91| 久久伊人中文字幕| 日韩va欧美va亚洲va久久| 日本道免费精品一区二区三区| 国产亚洲一区二区三区四区| 日韩精品视频网站| 欧美午夜精品一区| 亚洲黄色录像片| 成人激情免费视频| 久久精品视频一区二区三区| 青青草91视频| 这里是久久伊人| 亚洲 欧美综合在线网络| 色一区在线观看| 成人免费一区二区三区视频| 日韩欧美国产一区二区三区| 亚洲一区免费视频| 91国偷自产一区二区使用方法| 国产精品国产馆在线真实露脸| 国产99一区视频免费| 久久综合狠狠综合| 国产精品一级黄| 久久久影视传媒| 国产成人午夜视频| 中文字幕第一区二区| 国产乱码精品一区二区三区五月婷| 日韩一区二区三区三四区视频在线观看| 亚洲毛片av在线| 欧美三级欧美一级| 午夜欧美视频在线观看| 69堂国产成人免费视频| 天天综合色天天综合色h| 6080国产精品一区二区| 日韩成人免费看| 欧美r级电影在线观看| 九九九久久久精品| 久久日一线二线三线suv| 国产精品88888| 亚洲色图一区二区三区| 欧美午夜在线观看| 全部av―极品视觉盛宴亚洲| 精品久久一区二区| 国产 日韩 欧美大片| 中文字幕一区二区三区视频| 色婷婷久久99综合精品jk白丝| 亚洲午夜激情网页| 日韩一区二区三区电影| 国产福利一区二区三区| 一区二区三区色| 欧美一区二区三区思思人| 国产一区91精品张津瑜| 亚洲人成网站精品片在线观看| 欧美色综合影院| 精品一区二区三区香蕉蜜桃 | 久久精品国产澳门| 久久久久99精品国产片| 91同城在线观看| 日韩成人午夜精品| 国产精品视频线看| 欧美日韩在线电影| 国产成人精品综合在线观看| 一区二区三区在线视频观看58| 欧美一区二区大片| 97精品久久久久中文字幕| 免费日本视频一区| 亚洲欧洲制服丝袜| 久久婷婷国产综合精品青草 | 中文字幕av不卡| 色av成人天堂桃色av| 久久99精品久久久久久久久久久久 | 亚洲欧美另类久久久精品2019| 337p亚洲精品色噜噜| 日韩片之四级片| 不卡一区二区三区四区| 奇米一区二区三区| 亚洲靠逼com| 久久精品人人做人人爽人人| 欧美人狂配大交3d怪物一区| 97久久精品人人爽人人爽蜜臀| 久久99精品国产麻豆婷婷| 一区二区三区在线视频观看58| 久久久久久影视| 欧美一区二区不卡视频| 欧美色视频一区| hitomi一区二区三区精品| 精品午夜久久福利影院| 三级欧美在线一区| 一区二区欧美在线观看| 最新高清无码专区| 久久久久久久久99精品| 欧美一区在线视频| 欧美日韩国产高清一区| 91福利在线观看| 国产精品1024| 国产精品一区专区| 国内精品久久久久影院色| 老司机精品视频在线| 亚洲成人av中文| 一区二区三区**美女毛片| 亚洲欧洲三级电影| 中文字幕乱码久久午夜不卡| 精品国产伦一区二区三区观看体验| 欧美亚洲综合另类| 欧美视频三区在线播放| 欧美日韩一区二区在线观看视频| 99re在线精品| 色婷婷av一区二区三区软件 | 久久97超碰色| 久久9热精品视频| 久久精品国产99国产精品| 久久国产精品72免费观看| 日本强好片久久久久久aaa| 日韩在线a电影| 天天亚洲美女在线视频| 日本亚洲免费观看| 久久国产精品免费| 国产一区二区三区四| 成人精品国产一区二区4080| 成人avav影音| 91福利在线播放| 欧美区在线观看| 精品免费视频一区二区| 国产拍揄自揄精品视频麻豆| 国产精品久久毛片a| 亚洲另类春色国产| 日本欧美肥老太交大片| 国产自产v一区二区三区c| 国产成人亚洲综合a∨婷婷| 成人黄色在线网站| 欧美系列亚洲系列| wwwwww.欧美系列| 中文字幕一区三区| 亚洲风情在线资源站| 久久www免费人成看片高清| 成人午夜视频网站| 欧美四级电影网| 精品福利一二区| 亚洲欧美成人一区二区三区| 性欧美疯狂xxxxbbbb| 国产成人在线视频网站| 中文字幕亚洲在| 午夜视频一区二区三区| 国产成人午夜精品5599| 欧美网站一区二区| 久久久精品综合| 亚洲123区在线观看| 国产成人免费在线| 欧美三级欧美一级| 日本一区二区在线不卡| 亚洲成av人片观看| 国产乱码精品1区2区3区| 在线视频一区二区三| 精品理论电影在线观看| 亚洲综合区在线| 国产成人av自拍| 777午夜精品免费视频| 国产精品久久久久桃色tv| 天天综合天天综合色| 99热精品一区二区| 精品国产亚洲一区二区三区在线观看| 亚洲色图在线视频| 国产美女av一区二区三区| 8x福利精品第一导航| 中文字幕在线不卡视频| 精品一区二区三区在线观看 | 国产毛片一区二区| 7777精品伊人久久久大香线蕉| 国产精品无遮挡| 男女男精品网站| 在线观看91视频| 亚洲欧美怡红院| 国产精品18久久久久久久久久久久| 欧美一区二区三区不卡| 香蕉成人伊视频在线观看| 日本高清成人免费播放| 日韩美女视频一区| 国产大陆a不卡| 久久久99久久精品欧美| 免费高清视频精品| 91精品国模一区二区三区| 亚洲一区二区精品久久av| 91一区二区三区在线观看| 国产日韩欧美综合在线| 精品一区二区免费在线观看| 日韩天堂在线观看| 日韩二区三区四区| 欧美二区乱c少妇| 丝袜亚洲另类欧美| 欧美天堂亚洲电影院在线播放| 亚洲一二三四区不卡| 色成年激情久久综合| 亚洲国产美国国产综合一区二区 |