23 / 23 / 2
Регистрация: 27.11.2009
Сообщений: 94
1

Отправка почты: "необработанное исключение отправки почты в system.Dll"

07.03.2010, 12:54. Показов 10416. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите - вот пример на C#, но он мне пишет "необработанное исключение отправки почты в system.dll"
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
using System;
using System.Web;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication2 
{
public partial class Form1 : Form
{
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e){ 
SmtpClient Smtp = new SmtpClient("smtp.mail.ru", 25);
Smtp.Credentials =new tworkCredential("login", "pass");
//Smtp.EnableSsl = false;//
MailMessageMessage = new MailMessage();
 Message.From =new MailAddress("ivanov@mail.ru");
 Message.To.Add(new MailAddress"rewt85@mail.ru"));
 Message.Subject ="tytyty";
 Message.Body ="ghghgh";
 Smtp.Send(Message);
} 
} 
 }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.03.2010, 12:54
Ответы с готовыми решениями:

Необработанное исключение типа "System.Net.Sockets.SocketException" в System.dll
Доброго времени суток! Есть следующая статья: Разработка прокси-сервера на C# В самом конце есть...

Необработанное исключение типа "System.ObjectDisposedException" в mscorlib.dll
Добрый день!Подскажите пожалуйста.Возникает ошибка Необработанное исключение типа...

Необработанное исключение типа "System.IO.IOException" произошло в mscorlib.dll
Ребят подскажите проблему при сохранение через SaveFileDialog() выдает ошибку: Необработанное...

Потоки Thread: Необработанное исключение типа "System.NullReferenceException"
Такова проблема thrListener = new Thread(KeepListening); thrListener.Start(); ... public...

15
3 / 3 / 1
Регистрация: 16.10.2009
Сообщений: 6
07.03.2010, 13:02 2
Message.To.Add(new MailAddress"rewt85@mail.ru"));
для начала напиши так (скобку забыл)
C#
1
 Message.To.Add(new MailAddress("rewt85@mail.ru"));
какие еще компонетны кроме батона на форме ?
0
23 / 23 / 2
Регистрация: 27.11.2009
Сообщений: 94
07.03.2010, 20:35  [ТС] 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
30
31
32
33
34
35
36
37
38
39
40
41
42
using System;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                SmtpClient Smtp = new SmtpClient("smtp.rambler.ru", 25);
                Smtp.Credentials = new NetworkCredential("login", "pass");
                Smtp.EnableSsl = false;
 
                //Формирование письма
                MailMessage Message = new MailMessage();
                Message.From = new MailAddress("ivanov@rambler.ru");
                Message.To.Add(new MailAddress("delong33@rambler.ru"));
                Message.Subject = "tytyty";
                Message.Body = "ghghgh";
 
                Smtp.Send(Message);//отправка
            }
            catch { 
            }
        }
    }
}
не покамесь там нечего нету, мне бы пока с этим разобраться...
0
307 / 260 / 70
Регистрация: 01.12.2008
Сообщений: 1,031
08.03.2010, 08:31 4
может дело в самих rambler.ru , mail.ru. Мне вот пришлось создать ящик на google, потому как с некоторых
сайтов регистрация на rambler не приходит...??
И для начала обработай исключение
Код
   catch (Exception e)
и посмотри что пишет....
0
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
02.07.2010, 01:17 5
Цитата Сообщение от wwowa Посмотреть сообщение
может дело в самих rambler.ru , mail.ru. Мне вот пришлось создать ящик на google, потому как с некоторых
сайтов регистрация на rambler не приходит...??
И для начала обработай исключение
Код
   catch (Exception e)
и посмотри что пишет....
Обработав исключение я получил:

Серверу SMTP требовалось защищенное соединение, или подлинность клиента не была установлена. ответ сервера: 5.7.1 Authentication required

На всякий случай вот мой код:

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
using System;
using System.Net;
using System.Net.Mail;
using System.Net.Mime;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
 
namespace Mail
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                SmtpClient Smtp = new SmtpClient("smtp.rambler.ru", 25);
                Smtp.Credentials = new NetworkCredential("login", "pass");
                Smtp.EnableSsl = false;
 
                //Формирование письма
                MailMessage Message = new MailMessage();
                Message.From = new MailAddress("smems@rambler.ru");
                Message.To.Add(new MailAddress("smems@rambler.ru"));
                Message.Subject = "Привет из C#";
                Message.Body = "Заработало!";
 
                Smtp.Send(Message);//отправка
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
}
0
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
11.07.2010, 15:33 6
C#
1
Smtp.EnableSsl = false;
Поставь в true и будет тебе счастье.
П.С. SSL (англ. Secure Sockets Layer — уровень защищённых сокетов) — криптографический протокол, который обеспечивает установление безопасного соединения между клиентом и сервером.
2
|____WTF!?____|
94 / 93 / 11
Регистрация: 01.06.2010
Сообщений: 227
12.07.2010, 15:03 7
Короче, я понял, ошибка не в коде!!!

У меня стоит Microsoft VS 2010 и там при создании проекта можно выбирать версию Framework...

Так вот, если версия 2.0, то выскакивает ошибка и письмо в итоге не приходит;

А если поставит версию 4.0, то тот-же самый код работает прекрасно и письма приходят!!!

Скорее всего дело в каких-то библиотеках, без которых не работает код на 2.0 и подключать их нужно вручную, а в 4.0 они автоматически уже в проекте при создании

Работать с 4.0, конечно хорошо, но у некоторых этой версии нет и прога работать на поздней версии Framework, к сожалению не будет
0
2095 / 1260 / 170
Регистрация: 01.02.2009
Сообщений: 2,842
12.07.2010, 15:43 8
Цитата Сообщение от stalkersev Посмотреть сообщение
Работать с 4.0, конечно хорошо, но у некоторых этой версии нет и прога работать на поздней версии Framework, к сожалению не будет
Если ты специально не подключал никаких библиотек, то данное приложение будет работать и под NET 3.5, а это уже любой пользователь Windows 7 по умолчанию.
0
|____WTF!?____|
94 / 93 / 11
Регистрация: 01.06.2010
Сообщений: 227
12.07.2010, 20:25 9
Ага...в 7 стандартно 3.5 есть..

Я проверил на 3.5 прога работает..
0
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
12.07.2010, 22:45 10
У меня семерка и есть подобная функция отправки почты. Прекрасно компилится и работает на втором фреймворке. Скорее всего, как уже сказали выше, ты использовал какие-то дополнительные библиотеки. Поставь решарпер. Хорошо помогает оптимизировать код и искать кривые моменты.
0
154 / 153 / 29
Регистрация: 21.05.2010
Сообщений: 338
13.07.2010, 18:18 11
Цитата Сообщение от ArtOfLife Посмотреть сообщение
C#
1
Smtp.EnableSsl = false;
Поставь в true и будет тебе счастье.
П.С. SSL (англ. Secure Sockets Layer — уровень защищённых сокетов) — криптографический протокол, который обеспечивает установление безопасного соединения между клиентом и сервером.
Значение true не помогает... ((

Добавлено через 43 секунды
Цитата Сообщение от ArtOfLife Посмотреть сообщение
У меня семерка и есть подобная функция отправки почты. Прекрасно компилится и работает на втором фреймворке. Скорее всего, как уже сказали выше, ты использовал какие-то дополнительные библиотеки. Поставь решарпер. Хорошо помогает оптимизировать код и искать кривые моменты.
Ммм... А что такое "решарпер"? Поделитесь пожалуйста знаниями)))
0
145 / 145 / 26
Регистрация: 09.10.2009
Сообщений: 261
13.07.2010, 22:45 12
Цитата Сообщение от Smems Посмотреть сообщение
Значение true не помогает... ((

Добавлено через 43 секунды


Ммм... А что такое "решарпер"? Поделитесь пожалуйста знаниями)))
Что такое решарпер: http://ru.wikipedia.org/wiki/ReSharper

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
        public static bool SendMail(string host, int port, string userName, string pswd, string fromAddress, string toAddress, string body, string subject, bool sslEnabled, string fileName)
        {
            var att = new Attachment(fileName);
            var msg = new MailMessage(new MailAddress(fromAddress), new MailAddress(toAddress))
                          {
                              Subject = subject,
                              SubjectEncoding = Encoding.ASCII,
                              Body = body,
                              BodyEncoding = Encoding.ASCII,
                              IsBodyHtml = false
                          };
 
            msg.Attachments.Add(att);
            var client = new SmtpClient(host, port)
                             {
                                 UseDefaultCredentials = false,
                                 Credentials = new NetworkCredential(userName, pswd),
                                 EnableSsl = sslEnabled
                             };
 
            try
            {
                client.Send(msg);
                att.Dispose();
                msg.Dispose();
            }
            catch (SmtpException)
            {
                return false;
            }
 
            return true;
        }
Код работает на "ура" с gmail'oм. Порт даже можно не задавать. Только SSL надо в true поставить, т.к. gmail не пропустит с фолсом. С рамблером не пробовал, лень создавать мыло там.
0
1 / 1 / 1
Регистрация: 31.10.2010
Сообщений: 67
03.10.2011, 12:24 13
Я решил воспользоваться кодом и при этом получаю исключение время ожидания операции истекло. Подскажите что делать использую почту укр нет с 465 портом и ssl
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
try
            {
                SmtpClient Smtp = new SmtpClient("smtp.ukr.net", 465);
                Smtp.Credentials = new NetworkCredential("karpckub", "25071990");
                Smtp.EnableSsl = true;
 
                //Формирование письма
                MailMessage Message = new MailMessage();
                Message.From = new MailAddress("karpckub@ukr.net");
                Message.To.Add(new MailAddress("pr_piratebay@ukr.net"));
                Message.Subject = "Привет из C#";
                Message.Body = "Заработало!";
 
                Smtp.Send(Message);//отправка
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
0
3 / 4 / 1
Регистрация: 18.07.2011
Сообщений: 52
17.11.2011, 23:24 14
delong, На форме вообще ни каких компонетов нет
Извиняюсь , свою тему с этой препутал))
0
0 / 0 / 1
Регистрация: 19.07.2011
Сообщений: 48
28.12.2012, 11:04 15
Цитата Сообщение от ArtOfLife Посмотреть сообщение
C#
1
Smtp.EnableSsl = false;
Поставь в true и будет тебе счастье.
П.С. SSL (англ. Secure Sockets Layer — уровень защищённых сокетов) — криптографический протокол, который обеспечивает установление безопасного соединения между клиентом и сервером.
Добрый день! Если так то ошибка такая "Удаленный сертификат недействителен согласно результатам проверки подлинности."
0
0 / 0 / 0
Регистрация: 07.04.2015
Сообщений: 10
07.02.2017, 16:29 16
кто ,что пользует для smtp отправки по 465 порту,mimemail запарил своим utf 8 ,easend денег хочет,mail.dll тоже ,openpop3 для получения отлично работает,но вот для smtp пока пользую easend20.dll но чую скоро она денег попросит.как более новые фреймворки 3 и выше.стандартный способ микрософт не советовать.он не работает по 465 порту.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.02.2017, 16:29
Помогаю со студенческими работами здесь

Необработанное исключение типа "System.Reflection.TargetInvocationException"
Добрых времени суток. Есть асинхронный сервер, к которому подулючается клиент, передает на серв...

Отправка почты и ошибка "путь содержит недопустимые знаки"
Подскажите пожалуйста, пытаюсь сделать отправку почты с адресов которые у меня в массиве, но мне...

Отправка почты (вылетает исключение)
Отправляю почту при помощи вот этого кода: SmtpClient Smtp = new...

Отправка почты: проверка на то, что в данный момент нет другой отправки
Вот сам код, осталось доработать! Первое куда письмо придет. Второе откуда она его отправит. ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru