SHARE
TWEET

Untitled

a guest May 23rd, 2019 174 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using MailKit.Net.Pop3;
  2. using MailKit.Net.Smtp;
  3. using MimeKit;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.ComponentModel;
  7. using System.Data;
  8. using System.Drawing;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading;
  12. using System.Threading.Tasks;
  13. using System.Windows.Forms;
  14.  
  15. namespace MailSender
  16. {
  17.     public partial class Form1 : Form
  18.     {
  19.         public Form1()
  20.         {
  21.             InitializeComponent();
  22.            
  23.             Thread recieverThread = new Thread(() =>
  24.             {
  25.                 using (var client = new Pop3Client())
  26.                 {
  27.                     // For demo-purposes, accept all SSL certificates (in case the server supports STARTTLS)
  28.                     client.ServerCertificateValidationCallback = (s, c, h, e) => true;
  29.  
  30.                     Invoke((MethodInvoker)(() =>
  31.                     {
  32.                         listBox1.Items.Add($"Connecting to pop3 server");
  33.                     }));
  34.  
  35.                     client.Connect("pop.gmail.com", 995, true);
  36.  
  37.                     Invoke((MethodInvoker)(() =>
  38.                     {
  39.                         listBox1.Items.Add((client.IsConnected ? "Connected" : "Not connected"));
  40.                         listBox1.Items.Add("Logging in");
  41.                     }));
  42.  
  43.                     client.Authenticate("login", "password");
  44.  
  45.                     Invoke((MethodInvoker)(() =>
  46.                     {
  47.                         listBox1.Items.Add((client.IsAuthenticated ? "Authenticated" : "Not authenticated"));
  48.                     }));
  49.  
  50.                     // Получение сообщения по id
  51.                     /*MimeMessage curMessage = client.GetMessage(5);
  52.                     Invoke((MethodInvoker)(() =>
  53.                     {
  54.                         listBox1.Items.Add($"{curMessage.Date} {curMessage.Subject}");
  55.                     }));*/
  56.  
  57.                     // Получение всех сообщений
  58.                     //for (int i = 0; i < client.Count; i++)
  59.                     /*for (int i = client.Count - 1; i > 0; i--)
  60.                     {
  61.                         var message = client.GetMessage(i);
  62.                         Invoke((MethodInvoker)(() =>
  63.                         {
  64.                             listBox1.Items.Add($"Got message. Subject: {message.Subject}");
  65.                         }));
  66.                     }
  67.                     */
  68.                     // Помечение сообщения для удаления
  69.                     var message = client.GetMessage(1);
  70.                     Invoke((MethodInvoker)(() =>
  71.                     {
  72.                         listBox1.Items.Add($"Помечаем сообщение с темой {message.Subject} для удаления");
  73.                     }));
  74.                     client.DeleteMessage(1);
  75.                     Invoke((MethodInvoker)(() =>
  76.                     {
  77.                         listBox1.Items.Add($"Сообщение помечено для удаления");
  78.                     }));
  79.                    
  80.                     client.Disconnect(true);
  81.                 }
  82.  
  83.                 Thread.Sleep(1000);
  84.             });
  85.  
  86.             recieverThread.Start();
  87.         }
  88.  
  89.         private void button1_Click(object sender, EventArgs e)
  90.         {
  91.             var message = new MimeMessage();
  92.             message.From.Add(new MailboxAddress(textBox1.Text, ""));
  93.             message.To.Add(new MailboxAddress(textBox4.Text, textBox2.Text));
  94.             message.Subject = textBox3.Text;
  95.  
  96.             message.Body = new TextPart("plain")
  97.             {
  98.                 Text = richTextBox1.Text
  99.             };
  100.  
  101.             using (var client = new SmtpClient())
  102.             {
  103.                 client.ServerCertificateValidationCallback = (s, c, h, t) => true;
  104.  
  105.                 listBox1.Items.Add("Connecting to smtp server");
  106.                 client.Connect("smtp.gmail.com", 465, true);
  107.                 listBox1.Items.Add((client.IsConnected ? "Connected" : "Not connected"));
  108.  
  109.                 listBox1.Items.Add("Logging in");
  110.                 client.Authenticate("loging", "password");
  111.                 listBox1.Items.Add((client.IsAuthenticated ? "Authenticated" : "Not authenticated"));
  112.  
  113.                 listBox1.Items.Add("Sending message");
  114.                 client.Send(message);
  115.                 listBox1.Items.Add("Message sent");
  116.                 client.Disconnect(true);
  117.             }
  118.         }
  119.  
  120.         private void Form1_Load(object sender, EventArgs e)
  121.         {
  122.             listBox1.Items.Clear();
  123.         }
  124.     }
  125. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top