Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! Помогите, плз, разобраться со следующей проблемой: Необходимо при регистрации отправить на указанный 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-серверу свои имя и пароль, чтобы письмо прошло? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 16:19 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
Прошу прощения, ссылку исправил CdoConfiguration.cdoSendPassword ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 16:21 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
В Web.config <mailSettings> <smtp from=""> <network host="" port="25" password="" userName="" /> </smtp> </mailSettings> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 16:25 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
В Web.config <mailSettings> <smtp from=""> <network host="" port="25" password="" userName="" /> </smtp> </mailSettings> Пишет: неизвестная секция <mailSettings> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 18:04 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
Это фрагмент секции: <configuration> <system.net> <mailSettings> <smtp deliveryMethod="network"> <network host="localhost" port="25" defaultCredentials="true" /> </smtp> </mailSettings> </system.net> </configuration> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 18:24 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
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 сервер. А вообще письма отправляются с твоего ящика? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2006, 22:43 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
Это фрагмент секции: <configuration> <system.net> <mailSettings> <smtp deliveryMethod="network"> <network host="localhost" port="25" defaultCredentials="true" /> </smtp> </mailSettings> </system.net> </configuration> Unrecognized configuration section 'mailSettings' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 02:26 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
даже так не помогает: 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 На рабочем по-прежнему "Отказано в доступе". Правда, может, это из-за того, что выход в интернет у нас через проксю. Может, как-то параметры прокси попробовать указать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 02:36 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
Это для .NET Framework version 2.0. видимо у вас 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 09:41 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
YaroslaveНа рабочем по-прежнему "Отказано в доступе". Правда, может, это из-за того, что выход в интернет у нас через проксю. Может, как-то параметры прокси попробовать указать? У меня то же самое было. Варианта два: либо открыть себе прямой канал, либо использовать IPшник вашего SMTP-сервера (он же у вас есть?), соответственно с логином и паролем. Кстати, авторизацию можно прописать и в коде. Что-то типа этого (точно не помню, возможны ошибки): Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 10:49 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
Попробуй с localhost в smtp сервере прописать, ну если конечно на твоей машине стоит smtp сервер. А вообще письма отправляются с твоего ящика? С localhost то же самое, отказано в доступе. Письма с ящика отправляются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 15:04 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
Это для .NET Framework version 2.0. видимо у вас 1.1 Да, 1.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 15:04 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
У меня то же самое было. Варианта два: либо открыть себе прямой канал, либо использовать 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 с анонимным доступом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 15:08 |
|
||
|
Проблема с отправкой почты
|
|||
|---|---|---|---|
|
#18+
Нашел в чем проблема, убрав блок 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" /> Как побороть-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2006, 15:57 |
|
||
|
|

start [/forum/search_topic.php?author=bibarius&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
get settings: |
10ms |
get forum list: |
21ms |
get settings: |
9ms |
get forum list: |
18ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 1680ms |
| total: | 1905ms |

| 0 / 0 |
