Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 15.09.2015
Сообщений: 2

Отправка E-Mail c#

22.09.2015, 23:31. Показов 895. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер! Есть 2 проекта для отправки e-mail. Один - консольное приложение, второй - .Net приложение. Для отправки сообщения в обоих проектах используется один и тот же класс, отправка реализуется посредством вызова функции из этого класса. Консольное приложение работает отлично, сообщения отправляются и доходят до адресата, однако когда я пытаюсь использовать функцию через событие он_клик, приложение намертво виснет, и минуты через 3 выводит уведомление об ошибке отправки сообщения. С чем это может быть связано, и как починить?

код класса:
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
class SendMail
{
    public void sendMail(string smtpServer, string from, string password,
   string mailto, string caption, string message, string attachFile = null)
    { 
        try
        {
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress(from);
            mail.To.Add(new MailAddress(mailto));
            mail.Subject = caption;
            mail.Body = message;
            if (!string.IsNullOrEmpty(attachFile))
                mail.Attachments.Add(new Attachment(attachFile));
            SmtpClient client = new SmtpClient();
            client.Host = smtpServer;
            client.Port = 465;
            client.EnableSsl = true;
            client.Credentials = new NetworkCredential(from.Split('@')[0], password);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;
            client.Send(mail);
            mail.Dispose();
        }
        catch (Exception e)
        {
            throw new Exception("Mail.Send: " + e.Message);
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.09.2015, 23:31
Ответы с готовыми решениями:

Отправка e-mail
Здравствуйте. Нужно отправить сообщение, но, чтобы оно посылалось не сразу, а в заданное время. В нужное время может не быть интернета....

Smpt mail, отправка из программы
Доброго дня форумчане. Подскажите почему не отправляются письма try { using (MailMessage mm = new...

Отправка E-mail VS Русское имя Компьютера
Всем доброе время суток. Ребят проблема вот в чём, написал програмку для отправки E-mail try { ...

2
Заблокирован
24.09.2015, 09:36
1) По событию On_Click() вызывать отправку Email асинхронно
2) Проверить по событию параметры вызова (то есть сравнить их с параметрами из консольного вызова)
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18263 / 14188 / 5366
Регистрация: 17.03.2014
Сообщений: 28,875
Записей в блоге: 1
24.09.2015, 13:21
egor_sc, изучи исключение которое происходит. Возможно оно натолкнет на мысли.
Цитата Сообщение от egor_sc Посмотреть сообщение
C#
1
2
3
4
catch (Exception e)
{
    throw new Exception("Mail.Send: " + e.Message);
}
Не надо так обрабатывать исключения. Во-первых, тип исключения сам по себе должен указать на суть проблемы. Тип Exception здесь не подходит т.к. является слишком общим. SmtpException лучше подходит. Во-вторых, при генерации нового исключения нужно всегда (ВСЕГДА!) сохранять предыдующее исключение чтобы не терять полезную информацию о стеке вызовов и других вложенных исключениях.
C#
1
2
3
4
catch (Exception e)
{
    throw new SmtpException("Mail.Send: " + e.Message, e);
}
В третьих, данную обработку исключений можно вообще убрать т.к. она только добавляет банальный текст к сообщению об ошибке. Наверное ты это сделал чтобы понимать в каком месте произошло исключение, но это можно узнать по стеку вызовов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.09.2015, 13:21
Помогаю со студенческими работами здесь

Отправка E-mail в виде HTML с форматированием и картинками
Программирую клиент-серверную онлайн игрушку и столкнулся с проблемой, не могу при регистрации пользователей отправить им на почтовый ящик...

Отправка e-mail
Добрый день. В таблице "Студент" имеется поле e-mail, в котором хранятся адреса почты студентов. Как можно организовать отправку письма по...

Отправка e-mail на адрес в БД
Добрый день, нужно считывать с базы e-mail и отправлять на них данные. Вот собственно, что у меня получилось: ...

отправка e-mail
помогите узнать что не так есть код отправки e-mail protected void Button1_Click(object sender, EventArgs e) { ...

отправка писем на e-mail
Здравствуйте, как можно отправить текстовое значение на e-mail (кодбехайнд на C#) и можно ли отправить письмо не указав smtp-сервер? (как...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru