C# и отправка почты
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
C# и отправка почты - 2008-09-06 20:15:37.706666
|
|
|
poltinnik
Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
|
Сабж. В нете нашёл много примеров, и с MAPI и другие. Но ничего не пашет. Помогите с действующим примером. Нужно осуществить отправку почты на С# через SMPT протокол. +20 тому, чей пример поможет.
|
|
|
RE: C# и отправка почты - 2008-09-06 21:40:55.580000
|
|
|
SkyLinE215
Сообщений: -986
Оценки: 0
Присоединился: 2007-08-27 10:25:44.570000
|
После всех #include добавить using System.Net.Mail;
using System.Web; Потом код программы public void Send()
{
MailMessage Message = new MailMessage();
Message.Subject = "subject";
Message.Body = "some text";
Message.BodyEncoding = Encoding.GetEncoding("Windows-1254"); // Turkish Character Encoding// кодировка эсли нужно
Message.From = new System.Net.Mail.MailAddress("мейл отправителя");
Message.To.Add(new MailAddress( "мейл получателя"));
System.Net.Mail.SmtpClient Smtp = new SmtpClient("хост", порт(типа int));//эсли здесь заполнено то строчка ниже не нужна
Smtp.Host = "хост или IP адрес" //например для gmail (smtp.gmail.com), mail.ru(smtp.mail.ru)
Smtp.EnableSsl = true; // включение SSL для gmail нужно, для mail.ru не нада
Smtp.Credentials = new System.Net.NetworkCredential("логин", "пароль");
Smtp.Send(Message);//отправка
} С тебя +20)))
|
|
|
RE: C# и отправка почты - 2008-09-06 22:24:52.740000
|
|
|
poltinnik
Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
|
Я уже пробывал такой скрипт раньше, но чучуть другой. quote:
С тебя +20))) Не гони лошадей, ничего не работает. вот как я делал : try { MailMessage Message = new MailMessage(); Message.Subject = "subject"; Message.Body = "some text"; Message.BodyEncoding = Encoding.GetEncoding("Windows-1254"); // Turkish Character Encoding// кодировка эсли нужно Message.From = new System.Net.Mail.MailAddress("mail1@mail.ru"); Message.To.Add(new MailAddress("mail2@mail.ru")); System.Net.Mail.SmtpClient Smtp = new SmtpClient("smpt.mail.ru", 25);//эсли здесь заполнено то строчка ниже не нужна //Smtp.Host = "хост или IP адрес" //например для gmail (smtp.gmail.com), mail.ru(smtp.mail.ru) Smtp.EnableSsl = true; // включение SSL для gmail нужно, для mail.ru не нада Smtp.Credentials = new System.Net.NetworkCredential("mail1@mail.ru", "пароль к mail1@mail.ru"); Smtp.Send(Message);//отправка } catch (Exception ex) { MessageBox.Show(ex.Message); } ============ В ответ : "Failure sending message" Уже всё перепробывал, не знаю что делать ) Может сдесь не то ввожу : ? Smtp.Credentials = new System.Net.NetworkCredential("mail1@mail.ru", "пароль к mail1@mail.ru"); Надо мыло и пароль, от которого шлётся письмо или как ?
|
|
|
RE: C# и отправка почты - 2008-09-06 22:57:16.110000
|
|
|
SkyLinE215
Сообщений: -986
Оценки: 0
Присоединился: 2007-08-27 10:25:44.570000
|
quote:
Может сдесь не то ввожу : ? Smtp.Credentials = new System.Net.NetworkCredential("mail1@mail.ru", "пароль к mail1@mail.ru"); А ты не подумал писать просто Smtp.Credentials = new System.Net.NetworkCredential("mail1", "пароль к mail1@mail.ru"); Ведь выще ты учел что мыло на mail.ru System.Net.Mail.SmtpClient Smtp = new SmtpClient("smpt.mail.ru", 25);
|
|
|
RE: C# и отправка почты - 2008-09-06 23:07:31.146666
|
|
|
poltinnik
Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
|
Думал и писал. Все ровно так же "Failure sending message". Не могу понять в чём может быть проблема?
|
|
|
RE: C# и отправка почты - 2008-09-06 23:09:10.910000
|
|
|
poltinnik
Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
|
Может как то без SMTP отсылать? Кароче нужен любой способ, НО ДЕЙСТВУЮЩИЙ!! ТОМУ КТО ПОМОЖЕТ УЖЕ +25 ОБЕЩАЮ ))
|
|
|
RE: C# и отправка почты - 2008-09-06 23:15:53.946666
|
|
|
SkyLinE215
Сообщений: -986
Оценки: 0
Присоединился: 2007-08-27 10:25:44.570000
|
Слух, а зачем те именно для С# надо? Возьми код от VB, Delphi или того же С++ и наслаждайся)) ЗЫ. Проблема может еще быть в порте System.Net.Mail.SmtpClient Smtp = new SmtpClient("smpt.mail.ru", 25); Но это мало вероятно.. ЗЫЫ. Компилятора рядом нету чтобы проверить, но попробуй так: Message.From = new System.Net.Mail.MailAddress("mail1@mail.ru"); Message.To = new System.Net.Mail.MailAddress("mail2@mail.ru");
|
|
|
RE: C# и отправка почты - 2008-09-06 23:28:52.436666
|
|
|
poltinnik
Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
|
Нужно именно на С# пробывал так : try { MailMessage Message = new MailMessage(); Message.Subject = "subject"; Message.Body = "some text"; Message.BodyEncoding = Encoding.GetEncoding("Windows-1254"); // Turkish Character Encoding// кодировка эсли нужно Message.From = new System.Net.Mail.MailAddress("mail1@mail.ru"); Message.To.Add(new System.Net.Mail.MailAddress("mail2@mail.ru")); System.Net.Mail.SmtpClient Smtp = new SmtpClient("smtp.mail.ru", 25);//эсли здесь заполнено то строчка ниже не нужна Smtp.EnableSsl = true; // включение SSL для gmail нужно, для mail.ru не нада Smtp.Credentials = new System.Net.NetworkCredential("mail1", "pass"); Smtp.Send(Message);//отправка } catch (Exception ex) { MessageBox.Show(ex.Message); } не работает :@:@:@:@:@:@:@:@ ЛЮДИ ПОМОГИТЕ !
|
|
|
RE: C# и отправка почты - 2008-09-06 23:42:57.566666
|
|
|
SkyLinE215
Сообщений: -986
Оценки: 0
Присоединился: 2007-08-27 10:25:44.570000
|
Ну не знаю.. Тогда это чтото от твоего компа.. Код рабочий 100% ЗЫ У тя случайно Firewall не работает? Попробуй его отключить, может из за него проблема…
|
|
|
RE: C# и отправка почты - 2008-09-07 00:28:17.880000
|
|
|
poltinnik
Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
|
quote:
ORIGINAL: SkyLinE215 Ну не знаю.. Тогда это чтото от твоего компа.. Код рабочий 100% ЗЫ У тя случайно Firewall не работает? Попробуй его отключить, может из за него проблема… Нет всё отключено. Даже антивирь вырубил. Сам никак не пойму просто. У меня в локалке один внешний айпи на всех может через ето?
|
|
|
RE: C# и отправка почты - 2008-09-07 08:28:35.400000
|
|
|
SkyLinE215
Сообщений: -986
Оценки: 0
Присоединился: 2007-08-27 10:25:44.570000
|
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("127.0.0.1");
|
|
|
RE: C# и отправка почты - 2008-09-07 12:08:29.903333
|
|
|
poltinnik
Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
|
не понял к чему ето, приведи весь код если не тяжело
|
|
|
RE: C# и отправка почты - 2008-09-07 15:22:06.680000
|
|
|
41pa
Сообщений: 59
Оценки: 0
Присоединился: 2008-01-14 21:01:45.740000
|
cскорей всего у вас в сети 25 порт заблочен, отправка проис. не через станд-ый порт, а к примеру 25005 имхо. зы: попрообуй свой же код не для mail.ru а на пример: mail.tut.by…Скажи результат…
|
|
|
RE: C# и отправка почты - 2008-09-08 15:07:19.003333
|
|
|
necrostaz
Сообщений: 172
Оценки: 0
Присоединился: 2007-02-27 15:54:59.460000
|
quote:
ORIGINAL: poltinnik Нужно именно на С# пробывал так : try { MailMessage Message = new MailMessage(); Message.Subject = "subject"; Message.Body = "some text"; Message.BodyEncoding = Encoding.GetEncoding("Windows-1254"); // Turkish Character Encoding// кодировка эсли нужно Message.From = new System.Net.Mail.MailAddress("mail1@mail.ru"); Message.To.Add(new System.Net.Mail.MailAddress("mail2@mail.ru")); System.Net.Mail.SmtpClient Smtp = new SmtpClient("smtp.mail.ru", 25);//эсли здесь заполнено то строчка ниже не нужна Smtp.EnableSsl = true; // включение SSL для gmail нужно, для mail.ru не нада Smtp.Credentials = new System.Net.NetworkCredential("mail1", "pass"); Smtp.Send(Message);//отправка } catch (Exception ex) { MessageBox.Show(ex.Message); } не работает :@:@:@:@:@:@:@:@ ЛЮДИ ПОМОГИТЕ ! сделай Smtp.EnableSsl = false; и будет тебе щастье….и прежде чем копипастить думать нада
|
|
|
RE: C# и отправка почты - 2008-09-09 21:25:34.126666
|
|
|
poltinnik
Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
|
quote:
сделай Smtp.EnableSsl = false; и будет тебе щастье….и прежде чем копипастить думать нада ето ты бы лучше думал перед тем как постить. щастья не случилось.
|
|
|
RE: C# и отправка почты - 2008-09-11 17:56:31.840000
|
|
|
necrostaz
Сообщений: 172
Оценки: 0
Присоединился: 2007-02-27 15:54:59.460000
|
quote:
ето ты бы лучше думал перед тем как постить. щастья не случилось. специально для тебя откомпилировал код и запустил….работает отлично….если хочешь чтоб помог шли Exception
|
|
|
RE: C# и отправка почты - 2008-09-12 14:38:49.500000
|
|
|
dos 999
Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
|
может дело в проксях? necrostaz, poltinnik вы через прокси работаете?
|
|
|
RE: C# и отправка почты - 2008-09-12 18:57:11.270000
|
|
|
necrostaz
Сообщений: 172
Оценки: 0
Присоединился: 2007-02-27 15:54:59.460000
|
я тож думаю что у чувака стоит прокси на шлюзе….у меня без….в любом случае если пришлет текст ексепшна, это ситуацию прояснит
|
|
|
RE: C# и отправка почты - 2008-09-15 09:07:07.106666
|
|
|
mayday
Сообщений: 14
Оценки: 0
Присоединился: 2004-11-18 00:32:28
|
дело в mail.ru не знаю точно, что у них там, но у меня отправка на пхп не работала попробуй послать например через гмэйл
|
|
|
RE: C# и отправка почты - 2008-09-15 14:22:09.710000
|
|
|
necrostaz
Сообщений: 172
Оценки: 0
Присоединился: 2007-02-27 15:54:59.460000
|
quote:
дело в mail.ru не знаю точно, что у них там, но у меня отправка на пхп не работала попробуй послать например через гмэйл нет не в мейл.ру дело, у меня код работает на мейловских аках
|
|
|
RE: C# и отправка почты - 2008-09-16 12:07:07.163333
|
|
|
dos 999
Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
|
quote:
я тож думаю что у чувака стоит прокси на шлюзе….у меня без….в любом случае если пришлет текст ексепшна, это ситуацию прояснит Да эксепшен там всегда один: Failure sending message ХЗ почему… но когда что то неправильно (пофиг что) выдаёт одно и то же… вот вам и дот нет =) недоработаный ещё )))
|
|
|
RE: C# и отправка почты - 2008-12-07 23:54:16.386666
|
|
|
beetlejuice
Сообщений: 2
Оценки: 0
Присоединился: 2008-12-07 23:32:15.550000
|
хорошая тема, решил оставить пару слов… сталкнулся с анамалией :) кусок кода приведенный здесь верный, после создания SmtpClient newSmtpConn = new SmtpClient(); нужно определить основные переменные Host, Port, EnableSsl, UseDefaultCredentials и Credentials затем само письмо сформировать с помощью MailMessage… далее newSmtpConn.Send(newMessage); - отправляем… Все это работало, Host использовал smtp.gmail.com, где Port = 465. Анамалия!! После расширения приложения, когда я снова вернулся в часть где рассылка, поченить не удалось. Поэтому сижу разбираюсь
|
|
|
RE: C# и отправка почты - 2008-12-08 00:50:33.676666
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
МОжет в конфиге что-то поменял?
|
|
|
RE: C# и отправка почты - 2008-12-08 01:25:35.643333
|
|
|
beetlejuice
Сообщений: 2
Оценки: 0
Присоединился: 2008-12-07 23:32:15.550000
|
в том то и дело что код не менял, все параметры ящиков хранил в БД, от их имени осуществлялась рассылка, пересмотрел все темы на отправку через гугл, оказалось, что нужно вместо 465 порта использовать 587… После реализации я видемо и тестировал через 587 порт, но спустя месяц просто забыл, а на гугле указан для аутлука 2007 порт 465, вот я и повелся. так что с кодом все нормально!
|
|
|
RE: C# и отправка почты - 2009-01-31 10:27:54.426666
|
|
|
Coder007
Сообщений: 2
Оценки: 0
Присоединился: 2009-01-31 10:14:24.400000
|
попробуй так: using System.Web.Mail; private bool SendMail( string smtp_server, string mail_user, string mail_password, string mail_from, string mail_to, string subject, string message, string attachments) { SmtpMail.SmtpServer = smtp_server; MailMessage mailer = new MailMessage(); // авторизация SMTP mailer.Fields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"] = 1; // cdoBasic mailer.Fields["http://schemas.microsoft.com/cdo/configuration/sendusername"] = mail_user; mailer.Fields["http://schemas.microsoft.com/cdo/configuration/sendpassword"] = mail_password; mailer.Fields["http://schemas.microsoft.com/cdo/configuration/sendusing"] = 2; // cdoSendUsingPort mailer.From = mail_from; mailer.Body = message; mailer.Subject = subject; mailer.To = mail_to; ///Код для вложения if (attachments != "") { MailAttachment data = new MailAttachment(attachments); mailer.Attachments.Add(data); } bool State; try { SmtpMail.Send(mailer); State = true; } catch (Exception e) { State = false; } finally { State = true;// } return State; } Я тоже все варианты перепробовал, не получилось.
|
|
|
RE: C# и отправка почты - 2009-10-26 18:55:47.836666
|
|
|
dilan
Сообщений: 2
Оценки: 0
Присоединился: 2009-10-26 18:37:10.640000
|
Вот вполне рабочий код ;)
01.
02. String smtpHost = "SMTP.SERVER.RU";
03.
04.int smtpPort = 25;
05.
06.String smtpUserName = "LOGIN";
07.
08.String smtpUserPass = "PASSWORD";
09.
10.
11.SmtpClient client = new SmtpClient(smtpHost, smtpPort);
12.client.Credentials = new NetworkCredential(smtpUserName, smtpUserPass);
13.
14.
15.String msgFrom = "LOGIN@SERVER.RU";
16.
17.String msgTo = "KUDA@TO.RU";
18.
19.String msgSubject = "Письмо от ";
20.
21.String msgbоdу = "Привет!\r\n\r\nЭто тестовое письмо\r\n\r\n--\r\n";
22.
23.//Если нужно больше вложений, для каждого вложения создаем свой объект Attachment с нужным путем к файлу
24.Attachment attachData = new Attachment("D:\Тестовое вложение.zip");
25.
26.
27.MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgbоdу);
28.
29.message.Attachments.Add(attachData);
30.
31.try
32.{
33.
34.client.Send(message);
35.}
36.catch (SmtpException ex)
37.{
38.//В случае ошибки при отсылке сообщения можем увидеть, в чем проблема
39.Console.WriteLine(ex.InnerException.Message.ToString());
40.}
|
|
|
|
|