Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 12.12.2017
Сообщений: 2
1

Протокол в почтовом клиенте SMTP

12.12.2017, 18:38. Просмотров 516. Ответов 2
Метки smtp (Все метки)

Здравствуйте. есть почтовый клиент написанный на C#. Работает норм. но весь процесс почтовой сессии должен отображаться на экране. как сделать это ?надо хотя бы процесс записался в отдельном файле
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Mail;
 
namespace SMTPmail
{
    public partial class Form1 : Form
    {
        NetworkCredential login;
        SmtpClient client;
        MailMessage msg;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btnSend_Click(object sender, EventArgs e)
        {
            login = new NetworkCredential(txtUsername.Text, txtPassword.Text);
            client = new SmtpClient(txtSmtp.Text);
            client.Port = Convert.ToInt32(txtPort.Text);
            client.EnableSsl = chkSSL.Checked;
            client.Credentials = login;
            msg = new MailMessage { From = new MailAddress(txtUsername.Text + txtSmtp.Text.Replace("smtp.", "@"), "Lucy", Encoding.UTF8) };
            msg.To.Add(new MailAddress(txtTo.Text));
            if (!string.IsNullOrEmpty(txtCC.Text))
                msg.To.Add(new MailAddress(txtCC.Text));
            msg.Subject = txtSubject.Text;
            msg.Body = txtMessage.Text;
            msg.BodyEncoding = Encoding.UTF8;
            msg.IsBodyHtml = true;
            msg.Priority = MailPriority.Normal;
            msg.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;
            client.SendCompleted += new SendCompletedEventHandler(SendCompletedCallback);
            string userstate = "Sending ...";
            client.SendAsync(msg, userstate);
 
        }
        private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
        {
            if (e.Cancelled)
                MessageBox.Show(string.Format("{0} send canceled.", e.UserState), "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            if (e.Error!=null)
                MessageBox.Show(string.Format("{0} {1}", e.UserState, e.Error), "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
            else 
                MessageBox.Show("Your message has been successfully send", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
 
 
        }
    }
}
0
Миниатюры
Протокол в почтовом клиенте SMTP  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2017, 18:38
Ответы с готовыми решениями:

Smtp протокол отправки на клиенте 8.5.1
как и где посмотреть протокол SMTP обмена клиента с инет-сервером ? Спасибо.

Две учётки в почтовом клиенте
Машина получает почту с двух разных серверов как пример возмём 10.10.10.10 и 20.20.20.20. Завести...

некорректное отображение полей в почтовом клиенте
Добрый день, коллеги! Имеется такая проблема: почтовый клиент Lotus 8.5.1 FP3, система win 7...

Получение писем в почтовом клиенте, POP3
Здравствуйте я в этой области новичок и прошу помощи, у меня такая проблема, пишу почтовый клиент в...

2
Модератор
Эксперт .NET
5101 / 4003 / 1152
Регистрация: 12.10.2013
Сообщений: 11,635
Записей в блоге: 2
12.12.2017, 22:08 2
Цитата Сообщение от Алиса12345 Посмотреть сообщение
весь процесс почтовой сессии должен отображаться на экране
В смысле, сам процесс отправки типом SmtpClient?
Вряд ли выйдет, насколько я понимаю разработчиков и по исходникам данного типа, предполагалось, что этот процесс не должен занимать долгое время, потому и не ввели события отображения прогресса, только событие окончания асинхронной операции. Так что только велосипедить.
0
0 / 0 / 0
Регистрация: 12.12.2017
Сообщений: 2
13.12.2017, 21:29  [ТС] 3
Просто в нашем универе есть открытый сервер. есть программа написанная на С #?, но при запуске выдает ошибку "нет файла в папке Debag - System.Net.trace.log". нашла на сайте https://docs.microsoft.com/en-... rk-tracing код XML. копирую вставляю. Программа работает, но когда второй раз запускаю этот файл удаляется . Почему, не могу понять.
0
Вложения
Тип файла: 7z SMIP.7z (163.5 Кб, 1 просмотров)
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2017, 21:29

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проблема с перемещением сообщений в почтовом клиенте Outlook
Проблема такая , при перемещении сообщения в папку созданную руками пользователя пропадает...

Что использовать в почтовом клиенте для списка писем???
У меня такая проблемма: Тема курсовой у меня по Delphi - "Почтовый клиент". Какой компонент лучше...

Очень часто слетает пароль в почтовом клиенте. (Outlook Express и Windows Live)
Добрый день! Подскажите, пожалуйста. Очен часто слетает пароль в почтовых клиентах Outlook...

Как автоматически заполнять имя SMTP на клиенте?
Пользуюсь Winsock control для отправки сообщений. Надо бы автоматически заполнять имя SMTP на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.