Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.12.2011, 21:16   #1
offname
Пользователь
 
Регистрация: 29.03.2011
Сообщений: 35
По умолчанию отправить письмо

Подскажите пытаюсь отправить письмо на сервер rambler

В общем пробовал, выдает ошибку: 5.7.1 authentication required

По гуглим нашёл решение использовать- System.Web.Mail.MailMessage;

Есть там кусок кода:
System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();

mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "marsha");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "secret");

Подскажите, вот где schemas.microsoft.com, что нужно подставить? Не оставлять же строки, как есть, а то получается, что отправка через микрософт будет идти, но мне это не нужно, хотелось бы напрямую, или я чего-то не до понимаю.

Или может быть кто-нибудь знает, как обойти предыдущую ошибку стандартными способами?
offname вне форума Ответить с цитированием
Старый 19.12.2011, 12:18   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Надо смотреть настройки Rambler'a для отправки почты. Я не вижу где Вы указывается адрес и порт сервера.
Hollander вне форума Ответить с цитированием
Старый 19.12.2011, 18:33   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Код:
MailMessage message = new MailMessage(); // создание нового письма
message.To.Add ("user@tomail.tld"); // добавление адреса получателя
message.From = new MailAddress("from@domain.tld", "Имя_отправителя"); // указание имени и адреса отправителя
message.Subject = "Тема письма"; // указание темы письма 
message.BodyEncoding = System.Text.Encoding.UTF8; // указание кодировки письма
message.IsBodyHtml = false; // указание формата письма (true - HTML, false - не HTML)
message.Body = "Текст письма"; // указание текста (тела) письма

SmtpClient client = new SmtpClient("smtp.domain.tld",25); // создание нового подключения к серверу "smtp.domain.tld"
client.DeliveryMethod = SmtpDeliveryMethod.Network; // определяет метод отправки сообщений
client.EnableSsl = false; // отключает необходимость использования защищенного соединения с сервером
client.UseDefaultCredentials = false; // отключение использования реквизитов авторизации "по-умолчанию"
client.Credentials = new NetworkCredential("postmaster@domain.tld", "***password***"); // указание нужных реквизитов (имени пользователя и пароля) для авторизации на SMTP-сервере
client.Send(message); // отправка сообщения
dampirik вне форума Ответить с цитированием
Старый 20.12.2011, 14:17   #4
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Ты уверен что имя сервера и порт совпадают с нужным для тебя? А SSL, также многие сервера требуют предварительной авторизации. Советую сделать так: настраиваешь любой почтовый клиент и пробуешь отправить письмо. Если оно отправилось, но сравниваешь настройки клиента с кодом.
Вот настройка клиента для rambler
Т.е. я вижу что порт не 25, требуется SSL. Не проверял, но по идее должно быть так:
Код:
SmtpClient client = new SmtpClient("mail.rambler.ru",587); // создание нового подключения к серверу "smtp.domain.tld"
client.DeliveryMethod = SmtpDeliveryMethod.Network; // определяет метод отправки сообщений
client.EnableSsl = true; // отключает необходимость использования защищенного соединения с сервером
client.UseDefaultCredentials = false; // отключение использования реквизитов авторизации "по-умолчанию"
client.Credentials = new NetworkCredential("login", "password"); // указание нужных реквизитов (имени пользователя и пароля) для авторизации на SMTP-сервере
client.Send(message); // отправка сообщения

Последний раз редактировалось Hollander; 20.12.2011 в 14:20.
Hollander вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
отправить письмо с аттачем(WinSock) legendary Работа с сетью в Delphi 0 02.03.2011 15:53
Как отправить письмо в PHP FACE OFF Помощь студентам 4 26.12.2010 18:43
Как отправить письмо с indy 10.5? TwiX Работа с сетью в Delphi 1 08.12.2009 15:33
Не могу отправить письмо seoanalyzer Работа с сетью в Delphi 13 25.05.2009 19:45
Как програмно отправить письмо на E-mail ? SG13 Работа с сетью в Delphi 2 13.06.2008 12:50