Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с отправкой почты / 14 сообщений из 14, страница 1 из 1
28.08.2006, 16:19
    #33947351
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
Доброго времени суток!
Помогите, плз, разобраться со следующей проблемой:
Необходимо при регистрации отправить на указанный E-mail письмо с запросом. Делаю так:


using System.Web.Mail;
....
MailMessage mail=new MailMessage();
                        mail.From="адрес";
                        mail.To=txtEmail.Text;
                        mail.Subject="Подтверждение регистрации";
                        mail.Body="текст"
                        mail.BodyFormat=MailFormat.Html;
                        SmtpMail.SmtpServer="dns-адрес сервера";
                        SmtpMail.Send(mail);


Получаю ошибку Permission Denied. В качестве smtp-сервера используется реальный почтовый сервер корпоративной сети организации. Аккаунт у меня там зарегистрирован. Ясно, что письмо нужно отправлять от своего имени, т.е. проходить авторизацию. Поиск по инету дали смутные обрывки упоминаний о каких-то полях сообщения, вроде CdoConfiguration.cdoSendPassword
В MSDN к студии было сказано, что все эти поля являются членами класса IConfiguration.Fields. Ссылки на нее я не нашел. Про свойство Fields класса MailMessage там тоже нет ничего, кроме того, что он имеет тип IDictionary. Так как же мне отправить smtp-серверу свои имя и пароль, чтобы письмо прошло?
...
Рейтинг: 0 / 0
28.08.2006, 16:21
    #33947362
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
Прошу прощения, ссылку исправил CdoConfiguration.cdoSendPassword
...
Рейтинг: 0 / 0
28.08.2006, 16:25
    #33947372
kir
kir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
В Web.config
<mailSettings>
   <smtp from="">
  <network host="" port="25" password="" userName="" />
  </smtp>
</mailSettings>
...
Рейтинг: 0 / 0
28.08.2006, 18:04
    #33947759
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
В Web.config
<mailSettings>
<smtp from="">
<network host="" port="25" password="" userName="" />
</smtp>
</mailSettings>

Пишет: неизвестная секция <mailSettings>
...
Рейтинг: 0 / 0
28.08.2006, 18:24
    #33947809
kir
kir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
Это фрагмент секции:

<configuration>
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="network">
        <network
          host="localhost"
          port="25"
          defaultCredentials="true"
        />
      </smtp>
    </mailSettings>
  </system.net>
</configuration>
...
Рейтинг: 0 / 0
28.08.2006, 22:43
    #33948194
RasimS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
YaroslaveДоброго времени суток!
Помогите, плз, разобраться со следующей проблемой:
Необходимо при регистрации отправить на указанный E-mail письмо с запросом. Делаю так:


using System.Web.Mail;
....
MailMessage mail=new MailMessage();
                        mail.From="адрес";
                        mail.To=txtEmail.Text;
                        mail.Subject="Подтверждение регистрации";
                        mail.Body="текст"
                        mail.BodyFormat=MailFormat.Html;
                        SmtpMail.SmtpServer="dns-адрес сервера";
                        SmtpMail.Send(mail);


Получаю ошибку Permission Denied. В качестве smtp-сервера используется реальный почтовый сервер корпоративной сети организации. Аккаунт у меня там зарегистрирован. Ясно, что письмо нужно отправлять от своего имени, т.е. проходить авторизацию. Поиск по инету дали смутные обрывки упоминаний о каких-то полях сообщения, вроде CdoConfiguration.cdoSendPassword
В MSDN к студии было сказано, что все эти поля являются членами класса IConfiguration.Fields. Ссылки на нее я не нашел. Про свойство Fields класса MailMessage там тоже нет ничего, кроме того, что он имеет тип IDictionary. Так как же мне отправить smtp-серверу свои имя и пароль, чтобы письмо прошло?

Попробуй с localhost в smtp сервере прописать, ну если конечно на твоей машине стоит smtp сервер. А вообще письма отправляются с твоего ящика?
...
Рейтинг: 0 / 0
29.08.2006, 02:26
    #33948305
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
Это фрагмент секции:

<configuration>
<system.net>
<mailSettings>
<smtp deliveryMethod="network">
<network
host="localhost"
port="25"
defaultCredentials="true"
/>
</smtp>
</mailSettings>
</system.net>
</configuration>




Unrecognized configuration section 'mailSettings'
...
Рейтинг: 0 / 0
29.08.2006, 02:36
    #33948309
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
даже так не помогает:



MailMessage mail=new MailMessage();
                        mail.From="";
                        mail.To=txtEmail.Text.Trim();
                        mail.Subject="";
                        mail.Body="";
                        mail.BodyFormat=MailFormat.HTML;
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", 1); 
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "имя");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "пароль");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", 25);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing",2);

            SmtpMail.SmtpServer="dns-имя";
                        SmtpMail.Send(mail);


На домашнем компьютере показывает исключение

Exception has been thrown by the target of an invocation


На рабочем по-прежнему "Отказано в доступе". Правда, может, это из-за того, что выход в интернет у нас через проксю. Может, как-то параметры прокси попробовать указать?
...
Рейтинг: 0 / 0
29.08.2006, 09:41
    #33948562
kir
kir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
Это для .NET Framework version 2.0.
видимо у вас 1.1
...
Рейтинг: 0 / 0
29.08.2006, 10:49
    #33948775
SkyLight
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
YaroslaveНа рабочем по-прежнему "Отказано в доступе". Правда, может, это из-за того, что выход в интернет у нас через проксю. Может, как-то параметры прокси попробовать указать?
У меня то же самое было. Варианта два: либо открыть себе прямой канал, либо использовать IPшник вашего SMTP-сервера (он же у вас есть?), соответственно с логином и паролем. Кстати, авторизацию можно прописать и в коде. Что-то типа этого (точно не помню, возможны ошибки):
Код: plaintext
SmtpMail.Credentials=new NetworkCredential("логин","пароль");
...
Рейтинг: 0 / 0
29.08.2006, 15:04
    #33949882
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
Попробуй с localhost в smtp сервере прописать, ну если конечно на твоей машине стоит smtp сервер. А вообще письма отправляются с твоего ящика?
С localhost то же самое, отказано в доступе. Письма с ящика отправляются
...
Рейтинг: 0 / 0
29.08.2006, 15:04
    #33949883
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
Это для .NET Framework version 2.0.
видимо у вас 1.1


Да, 1.1
...
Рейтинг: 0 / 0
29.08.2006, 15:08
    #33949915
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
У меня то же самое было. Варианта два: либо открыть себе прямой канал, либо использовать IPшник вашего SMTP-сервера (он же у вас есть?), соответственно с логином и паролем. Кстати, авторизацию можно прописать и в коде. Что-то типа этого (точно не помню, возможны ошибки):
SmtpMail.Credentials=new NetworkCredential("логин","пароль");


        NetworkCredential nc=new NetworkCredential("login","pass","proxy");

private void Page_Load(object sender, System.EventArgs e)
        {
            CredentialCache myCache = new CredentialCache();
            myCache.Add(new Uri("proxy"),"Basic",nc);
            WebRequest wr = WebRequest.Create("proxy");
            wr.Credentials = myCache;
        }




даже после этого отлуп
Причем даже если указать в качестве smtp localhost с анонимным доступом
...
Рейтинг: 0 / 0
29.08.2006, 15:57
    #33950156
Yaroslave
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с отправкой почты
Нашел в чем проблема, убрав блок try

Пишет вот что:



Отказано в доступе.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Отказано в доступе.

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET write access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.


Я так понял, что ASP.NET у меня не имеет прав на отправку почты.
1. в masnine.config сменил userName с "Mashine" на "System". Не помогает
2. в web.config поставил <identity impersonate="true" userName="name" password="pass" />
Как побороть-то?
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с отправкой почты / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]