Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Net.Configuration;
- using System.Net.Mail;
- using System.Net.Security;
- using System.Net.Sockets;
- using System.Security.Cryptography;
- using System.Text;
- namespace Program
- {
- class Test
- {
- static void Main(string[] args)
- {
- int k;
- string response, username, pass, checkAnswer;
- byte[] receivedMessage=new byte[100];
- TcpClient client = new TcpClient("smtp.gmail.com", 465);
- //NetworkStream networkStream = client.GetStream();
- //string firstFivChar = new string(yourStringVariable.Take(5).ToArray());
- //Stream stm = client.GetStream();
- SslStream ssl = new SslStream(client.GetStream());
- ssl.AuthenticateAsClient("smtp.gmail.com");
- //string login = Base64Encode(username, pass);
- //Console.WriteLine(login);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- ASCIIEncoding asen = new ASCIIEncoding();
- checkAnswer = new string(response.Take(3).ToArray());
- Console.WriteLine(checkAnswer);
- if (checkAnswer == "220")
- {
- byte[] ba = asen.GetBytes("HELO gmail \r\n");
- ssl.Write(ba, 0, ba.Length);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- checkAnswer = new string(response.Take(3).ToArray());
- Console.WriteLine(checkAnswer);
- if (checkAnswer == "250")
- {
- Console.WriteLine("Iveskite el.pasta ir slaptazodi:");
- username = Console.ReadLine();
- pass = Console.ReadLine();
- var command = "AUTH LOGIN";
- ba = asen.GetBytes(command + " \r\n");
- ssl.Write(ba, 0, ba.Length);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- var login64 = Base64Encode(username);
- ba = asen.GetBytes(login64 + "\r\n");
- ssl.Write(ba, 0, ba.Length);
- Console.WriteLine(login64);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- var pass64 = Base64Encode(pass);
- ba = asen.GetBytes(pass64 + "\r\n");
- ssl.Write(ba, 0, ba.Length);
- Console.WriteLine(pass64);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- Console.WriteLine("Iveskite siuntejo el.pasta:");
- var mailFrom = Console.ReadLine();
- command = "MAIL FROM:<" + mailFrom + ">";
- ba = asen.GetBytes(command + " \r\n");
- ssl.Write(ba, 0, ba.Length);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- Console.WriteLine("Iveskite adresato el.pasta:");
- var rcptTo = Console.ReadLine();
- command = "rcpt to:<" + rcptTo + ">";
- ba = asen.GetBytes(command + " \r\n");
- ssl.Write(ba, 0, ba.Length);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- while (true)
- {
- Console.WriteLine("1-Prideti dar viena adresata\n2-Neprideti\n");
- int choice = Int32.Parse(Console.ReadLine());
- if (choice == 1)
- {
- Console.WriteLine("Iveskite adresato el.pasta:");
- rcptTo = Console.ReadLine();
- command = "rcpt to:<" + rcptTo + ">";
- ba = asen.GetBytes(command + " \r\n");
- ssl.Write(ba, 0, ba.Length);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- }
- if (choice == 2)
- {
- break;
- }
- }
- ba = asen.GetBytes("DATA \r\n");
- ssl.Write(ba, 0, ba.Length);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- Console.WriteLine("Iveskite laisko tema:");
- string sbj = Console.ReadLine();
- Console.WriteLine("Rasykite laiska:");
- string message = Console.ReadLine();
- ba = asen.GetBytes("Subject: " + sbj + "\n" + message + "\r\n.\r\n");
- ssl.Write(ba, 0, ba.Length);
- /* ba = asen.GetBytes("\r\n.\r\n");
- ssl.Write(ba, 0, ba.Length);*/
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- ba = asen.GetBytes("QUIT \r\n");
- ssl.Write(ba, 0, ba.Length);
- k = ssl.Read(receivedMessage, 0, 100);
- response = BytesToString(receivedMessage, k);
- Console.WriteLine(response);
- }
- }
- else
- {
- Console.WriteLine("Klaida prisijungiant i serveri!");
- }
- }
- public static string BytesToString(byte[] bytes, int k)
- {
- var str = new StringBuilder();
- for (int i = 0; i < k; i++)
- if (bytes[i] != 13 && bytes[i] != 10)
- str.Append(Convert.ToChar(bytes[i]));
- return str.ToString();
- }
- public static string Base64Encode(string info)
- {
- var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(info);
- return System.Convert.ToBase64String(plainTextBytes);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement