· 8 years ago · Dec 29, 2017, 01:58 PM
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Data;
5using System.Drawing;
6using System.Linq;
7using System.Text;
8using System.Threading.Tasks;
9using System.Windows.Forms;
10using System.Net;
11using System.IO;
12using System.Net.Mail;
13using OpenPop.Pop3;
14using OpenPop.Mime;
15using OpenPop.Mime.Header;
16
17namespace laba3
18{
19 public partial class Form1 : Form
20 {
21 public Form1()
22 {
23 InitializeComponent();
24 }
25
26 private void Form1_Load(object sender, EventArgs e)
27 {
28 textBox1.Text = "Alexey";
29 textBox2.Text = "test-ksis-alex@yandex.ru";
30 textBox3.Text = "reflex";
31 textBox4.Text = "maldinsky@yandex.ru";
32 textBox5.Text = "ТеÑÑ‚ Лаб. раб. 3";
33 textBox6.Text = "yandex.ru";
34 richTextBox1.Text = "ТеÑтовое Ñообщение на почту";
35 }
36
37 private void button1_Click(object sender, EventArgs e)
38 {
39 // отправитель - уÑтанавливаем Ð°Ð´Ñ€ÐµÑ Ð¸ отображаемое в пиÑьме имÑ
40 MailAddress from = new MailAddress(textBox2.Text, textBox1.Text);
41 // кому отправлÑем
42 MailAddress to = new MailAddress(textBox4.Text);
43 // Ñоздаем объект ÑообщениÑ
44 MailMessage m = new MailMessage(from, to);
45 // тема пиÑьма
46 m.Subject = textBox5.Text;
47 // текÑÑ‚ пиÑьма
48 m.Body = richTextBox1.Text;
49 // Ð°Ð´Ñ€ÐµÑ smtp-Ñервера и порт, Ñ ÐºÐ¾Ñ‚Ð¾Ñ€Ð¾Ð³Ð¾ будем отправлÑть пиÑьмо
50 SmtpClient smtp = new SmtpClient("smtp." + textBox6.Text, 587);
51 // логин и пароль
52 smtp.Credentials = new NetworkCredential(textBox2.Text, textBox3.Text);
53 // шифрование
54 smtp.EnableSsl = true;
55 smtp.Send(m);
56 }
57
58 private void button2_Click(object sender, EventArgs e)
59 {
60 using (Pop3Client client = new Pop3Client())
61 {
62 // Соединение Ñ Ñервером
63 client.Connect("pop.yandex.ru", 995, true);
64 // Authenticate ourselves towards the server
65
66 client.Authenticate(textBox2.Text, textBox3.Text);
67 List<string> msgs = client.GetMessageUids(); //получаем ÑпиÑок айдишников пиÑем в почте
68 OpenPop.Mime.Message msg = client.GetMessage(msgs.Count); // получаем Ñообщение
69 List<MessagePart> mpart = msg.FindAllAttachments(); // находим ВСЕ приаттаченные файлы
70 string body = "";
71 // ищем первую плейнтекÑÑ‚ верÑию в Ñообщении
72 MessagePart mpPlain = msg.FindFirstPlainTextVersion();
73
74 MessageHeader headers = client.GetMessageHeaders(msgs.Count);
75 string Subject = headers.Subject;
76 string From = headers.From.ToString();
77 string DataSent = headers.DateSent.ToString();
78
79 if (mpPlain != null)
80 {
81 Encoding enc = mpPlain.BodyEncoding;
82 body = enc.GetString(mpPlain.Body); // получаем текÑÑ‚ ÑообщениÑ
83 richTextBox1.Text = "";
84 richTextBox1.Text += Subject;
85 richTextBox1.Text += "\n";
86 richTextBox1.Text += From;
87 richTextBox1.Text += "\n";
88 richTextBox1.Text += DataSent;
89 richTextBox1.Text += "\n";
90 richTextBox1.Text += body;
91 }
92 if (mpart.Count > 0) // еÑли еÑть аттачменты то …
93 {
94 foreach (MessagePart attach in mpart)
95 {
96 // read data from attachment . допуÑтим у Ð¼ÐµÐ½Ñ Ð² аттачменте текÑÑ‚ в ЮТФ8. получу его Ñодержание
97 string ticket = Encoding.UTF8.GetString(attach.Body);
98 // что-то делаю Ñ Ð½Ð¸Ð¼
99 }
100 }
101 }
102 }
103 }
104}