Ejemplo n.º 1
0
 /// <summary>
 /// 选中控制模式事件
 /// </summary>
 /// <param name="collectMode"></param>
 private void OnSelectedMode(CollectMode collectMode)
 {
     if (collectMode.ModeByte == 0xff)
     {
         LogInfo = "请选择采集模式\n";
         MessageBox.Show("请选择一种采集模式!");
     }
     else
     {
         GatherVm.OnSendData(0x03, 0x00, collectMode.ModeByte);
         GatherVm.CurrentMode = collectMode;
     }
 }
Ejemplo n.º 2
0
		private void SendData(string data)
		{
			// Check for end of headers
			if (m_CollectMode == CollectMode.Headers && data == String.Empty)
			{
				m_CollectMode = CollectMode.Content;
				return;
			}

			// Collecting content
			if (m_CollectMode==CollectMode.Content)
			{
				if (!String.IsNullOrEmpty(data))
					m_collectedContent.Append(data);
				m_collectedContent.Append("\r\n");
				return;
			}

			// Write it
			if (String.IsNullOrEmpty(data))
			{
				writer.Write("\r\n");
				writer.Flush();
				return;
			}

			StringReader sr = new StringReader(data);
			string line;
			bool escapeDots = deliveryMethod == SmtpDeliveryMethod.Network;
			while ((line = sr.ReadLine()) != null)
			{
				CheckCancellation();

				if (escapeDots && line.StartsWith("."))
				{
					line = "." + line;
				}
				writer.Write(line);
				writer.Write("\r\n");
			}
			writer.Flush();
		}
Ejemplo n.º 3
0
		void StartCollecting()
		{
			if (DomainKeysSigner == null && DkimSigner == null)
			{
				m_CollectMode = CollectMode.None;
				return;
			}

			m_CollectMode = CollectMode.Headers;
			m_collectedHeaders = new List<EmailHeader>();
			m_collectedContent = new StringBuilder();
		}
Ejemplo n.º 4
0
		void FinishCollecting()
		{
			if (m_CollectMode == CollectMode.None)
				return;

			var e = new Email() 
			{ 
				Headers = m_collectedHeaders, 
				Body = m_collectedContent.ToString(),
				Encoding = writer.Encoding
			};

			// Generate Dkim signature
			if (DkimSigner != null)
			{
				m_collectedHeaders.Insert(0, DkimSigner.SignMessage(e));
			}

			// Generate domain keys signature
			if (DomainKeysSigner != null)
			{
				m_collectedHeaders.Insert(0, DomainKeysSigner.SignMessage(e));
			}

			m_CollectMode = CollectMode.None;

			// Write all headers
			foreach (var h in m_collectedHeaders)
			{
				SendHeader(h.Key, h.Value);
			}

			// Write the separator
			SendData(string.Empty);

			// Write the content
			SendData(e.Body);
		}
Ejemplo n.º 5
0
 /// <summary>
 /// Defines collection mode
 /// </summary>
 public TermsAggregation <T> CollectMode(CollectMode mode)
 {
     RegisterJsonPart("'collect_mode': {0}", mode.AsString().Quotate());
     return(this);
 }