Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

C# и отправка почты

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> C# и отправка почты
Имя
Сообщение << Старые топики   Новые топики >>
C# и отправка почты - 2008-09-06 20:15:37.706666   
poltinnik

Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
Сабж.
В нете нашёл много примеров, и с MAPI и другие.
Но ничего не пашет.
Помогите с действующим примером.
Нужно осуществить отправку почты на С# через SMPT протокол.
+20 тому, чей пример поможет.
Post #: 1
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)))
Post #: 2
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");

Надо мыло и пароль, от которого шлётся письмо или как ?
Post #: 3
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);
Post #: 4
RE: C# и отправка почты - 2008-09-06 23:07:31.146666   
poltinnik

Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
Думал и писал. Все ровно так же "Failure sending message".
Не могу понять в чём может быть проблема?
Post #: 5
RE: C# и отправка почты - 2008-09-06 23:09:10.910000   
poltinnik

Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
Может как то без SMTP отсылать?
Кароче нужен любой способ, НО ДЕЙСТВУЮЩИЙ!!
ТОМУ КТО ПОМОЖЕТ УЖЕ +25 ОБЕЩАЮ ))
Post #: 6
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");
Post #: 7
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);
}

не работает :@:@:@:@:@:@:@:@

ЛЮДИ ПОМОГИТЕ !
Post #: 8
RE: C# и отправка почты - 2008-09-06 23:42:57.566666   
SkyLinE215

Сообщений: -986
Оценки: 0
Присоединился: 2007-08-27 10:25:44.570000
Ну не знаю.. Тогда это чтото от твоего компа.. Код рабочий 100%
ЗЫ У тя случайно Firewall не работает? Попробуй его отключить, может из за него проблема…
Post #: 9
RE: C# и отправка почты - 2008-09-07 00:28:17.880000   
poltinnik

Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
quote:

ORIGINAL: SkyLinE215

Ну не знаю.. Тогда это чтото от твоего компа.. Код рабочий 100%
ЗЫ У тя случайно Firewall не работает? Попробуй его отключить, может из за него проблема…


Нет всё отключено. Даже антивирь вырубил. Сам никак не пойму просто.
У меня в локалке один внешний айпи на всех
может через ето?
Post #: 10
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");
Post #: 11
RE: C# и отправка почты - 2008-09-07 12:08:29.903333   
poltinnik

Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
не понял к чему ето, приведи весь код если не тяжело
Post #: 12
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…Скажи результат…
Post #: 13
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; и будет тебе щастье….и прежде чем копипастить думать нада
Post #: 14
RE: C# и отправка почты - 2008-09-09 21:25:34.126666   
poltinnik

Сообщений: 224
Оценки: 0
Присоединился: 2008-08-29 16:24:48.226666
quote:

сделай Smtp.EnableSsl = false; и будет тебе щастье….и прежде чем копипастить думать нада

ето ты бы лучше думал перед тем как постить.
щастья не случилось.
Post #: 15
RE: C# и отправка почты - 2008-09-11 17:56:31.840000   
necrostaz

Сообщений: 172
Оценки: 0
Присоединился: 2007-02-27 15:54:59.460000
quote:

ето ты бы лучше думал перед тем как постить. щастья не случилось.


специально для тебя откомпилировал код и запустил….работает отлично….если хочешь чтоб помог шли Exception
Post #: 16
RE: C# и отправка почты - 2008-09-12 14:38:49.500000   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
может дело в проксях? necrostaz, poltinnik вы через прокси работаете?
Post #: 17
RE: C# и отправка почты - 2008-09-12 18:57:11.270000   
necrostaz

Сообщений: 172
Оценки: 0
Присоединился: 2007-02-27 15:54:59.460000
я тож думаю что у чувака стоит прокси на шлюзе….у меня без….в любом случае если пришлет текст ексепшна, это ситуацию прояснит
Post #: 18
RE: C# и отправка почты - 2008-09-15 09:07:07.106666   
mayday

Сообщений: 14
Оценки: 0
Присоединился: 2004-11-18 00:32:28
дело в mail.ru
не знаю точно, что у них там, но у меня отправка на пхп не работала
попробуй послать например через гмэйл
Post #: 19
RE: C# и отправка почты - 2008-09-15 14:22:09.710000   
necrostaz

Сообщений: 172
Оценки: 0
Присоединился: 2007-02-27 15:54:59.460000
quote:

дело в mail.ru не знаю точно, что у них там, но у меня отправка на пхп не работала попробуй послать например через гмэйл
нет не в мейл.ру дело, у меня код работает на мейловских аках
Post #: 20
RE: C# и отправка почты - 2008-09-16 12:07:07.163333   
dos 999

Сообщений: 331
Оценки: 0
Присоединился: 2007-12-17 10:49:07.556666
quote:

я тож думаю что у чувака стоит прокси на шлюзе….у меня без….в любом случае если пришлет текст ексепшна, это ситуацию прояснит

Да эксепшен там всегда один: Failure sending message
ХЗ почему… но когда что то неправильно (пофиг что) выдаёт одно и то же… вот вам и дот нет =) недоработаный ещё )))
Post #: 21
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, где&nbsp;Port = 465.
 
Анамалия!!&nbsp;После расширения приложения, когда я снова вернулся в часть где рассылка, поченить не удалось.
Поэтому сижу разбираюсь
Post #: 22
RE: C# и отправка почты - 2008-12-08 00:50:33.676666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
МОжет в конфиге что-то поменял?
Post #: 23
RE: C# и отправка почты - 2008-12-08 01:25:35.643333   
beetlejuice

Сообщений: 2
Оценки: 0
Присоединился: 2008-12-07 23:32:15.550000
в том то и дело что код не менял, все параметры ящиков хранил в БД, от их имени осуществлялась рассылка, пересмотрел все темы на отправку через гугл, оказалось, что нужно вместо 465 порта использовать 587…
После реализации я видемо и тестировал через 587 порт, но спустя месяц просто забыл, а на гугле указан для аутлука 2007 порт 465, вот я и повелся.
так что с кодом все нормально!
Post #: 24
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;
    }

Я тоже все варианты перепробовал, не получилось.
Post #: 25
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.}
Post #: 26
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> C# и отправка почты







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.