Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> параметры протокола SMTP для отправки сообщений 
:(
    Опции темы
KuMa1104
Дата 5.8.2009, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 541
Регистрация: 16.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 3



Здравствуйте, прошу помочь советом.
Хотел воспользоватся стандатным классом PasswordRecovery который помогает пользователям, забывшим свои пароли. Он позволяет пользователю запросить сообщение электронной почты, содержащее либо новый пароль, либо пароль, который уже связан с его именем пользователя.

Пишу на VS2008
Так вот вставил соответствующий код.
Код

<asp:PasswordRecovery ID="PasswordRecovery1" runat="server">
</asp:PasswordRecovery>


и в фаил конфигурации соответственно прописал для стандартных настроек
Код

    <system.web>
        <authorization>
            <allow users="?" />
        </authorization>
     
    </system.web>
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="network" from="[email protected]">
        <network
          host="localhost"
          port="25"
          defaultCredentials="true"
        />
      </smtp>
    </mailSettings>
  </system.net>

Вобшем всё как советуют в MSDN

Но когда запускаю, открывается опера,и доходит дело до того что я ввожу правильный ответ на вопрос и мне должно как я понимаю выслатца письмо, выдаётся ошибка.

System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: 5.7.1 Unable to relay for [email protected] 

 [email protected] - адрес почты он ранее когда учётную запись создавал записывается.

Подскажите что может быть не так?





--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
Ипатьев
Дата 5.8.2009, 07:42 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: нет
Всего: 37



Какой смысл искать, что может быть не так, если в ответе сервера написано конкретно, в чем проблема: сервер принимает сообщения только для своих пользователей, и не занимается пересылкой для чужих.
Это значит, что надо сначала авторизоваться.
В network добавить  password и userName
PM MAIL   Вверх
KuMa1104
  Дата 5.8.2009, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 541
Регистрация: 16.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 3



Спасибо что ответили на мой вопрос.
Но прошу вас помочь ещё немного.

Я пробовал так делать, в MSDN по этому поводу пишут следующее.
<network
  host="host name" 
  port="integer" 
  defaultCredentials="true|false"
  userName="string"
  password="string"
/>



Я добавлял эти св-ва.
Код

 <network
          host="localhost"
          port="25"
          defaultCredentials="true"
          password = "12345q^"
          userName="KuMa1104"
        />

Но к сожалению опять таки появлялась эта ошибка, поясните в чем моя оплошность?
здесь в password и userName я также пробовал писать
 password = "MyPassowd"
 userName="MyUserName"
пологая что возможно он сам подставит данные но нечего не изменилось всё таже ошибка.


--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
Bestoloch
Дата 6.8.2009, 13:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 29.6.2009

Репутация: нет
Всего: нет



У меня была примерно такая же проблема сильно ее не разбирал, времени не было, поэтому использовал следующий код для отправки писем
Код

string pass = "SmtpPass";
string user = "SmtpUser";
string host = "SmtpHost";

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("addresses");
message.Subject = "strSubject";
message.From = new System.Net.Mail.MailAddress("address");
message.Body = "strBody";
message.IsBodyHtml = true;

System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient(host);

if (!String.IsNullOrEmpty(user))
{
    smtp.Credentials = new System.Net.NetworkCredential(user, pass);
}
try
{
    smtp.Send(message);
}
catch
{
}

message.Dispose();

PM MAIL   Вверх
Ипатьев
Дата 6.8.2009, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: нет
Всего: 37



Возможно, надо убрать параметр defaultCredentials="true"
PM MAIL   Вверх
KuMa1104
Дата 7.8.2009, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 541
Регистрация: 16.4.2009
Где: Ростов-на-Дону

Репутация: нет
Всего: 3



Подводя итоги этой небольшой дискуссии хочу сказать что дело похоже было вот в чем;

Виртуальный SMTP-сервер который используется по умолчанию
Код

<network
          host="localhost"
          port="25"
        />

Имеет ряд настроек в том числе "Ограничение ретронсляции" которая запрешает или разрешает ретрансляции электронной почты через данный виртуальный SMPT-сервер.
Так вот в моём случае не было указано, что через мой виртуальный сервер можно ретранслировать, хотя по идее это можно было сделать и так при условии проверки подленности.
Изменив эту настроику ,перестало выкидывать исключения, все заработало с различными конфигурациями минимальной из которых видимо является;

Код

<system.net>
        <mailSettings>
            <smtp deliveryMethod="Network" from="[email protected]">
                <network host="localhost"/>
            </smtp>
        </mailSettings>
    </system.net>


Спасиба госпадам Ипатьев & Bestoloch ваши замечания и премеры натолкнули меня на эту мысль. smile 


--------------------
Галактика – суровая штука. Чтобы в ней выжить, надо знать, где твое полотенце.

Время - штука относительная... а время обеда - ещё более относительная
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.1042 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.