Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# под Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.96
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
#1

Настройеа SMTP в IIS - C# ASP.NET

19.04.2012, 13:50. Просмотров 3201. Ответов 18
Метки нет (Все метки)

Помогите настроить этот сервер. Или дайте ссылку на настройки.

Win XP, 2003. Файлы cdo.dll, cdonts.dll имеются и зарегены.

Использую допустим код :
Код
<% 
var msg; 
msg = Server.CreateObject("CDONTS.NewMail"); 
msg.From = "<some>@yandex.ru"; 
msg.To = "<some>@yandex.ru"; 
msg.Subject = "Test"; 
msg.Body = "This is a sample message."; 
msg.Send();
Response.Write("Message was sent");
%>
Никаких ошибок не происходит, но и письма не приходят ...
http://www.cyberforum.ru/asp-net/thread478562.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2012, 13:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Настройеа SMTP в IIS (C# ASP.NET):

В чем различие IIS v5 и IIS v6 от IIS v4?
В чем различие IIS v5 и IIS v6 от IIS v4? и где можно их скачать?

Как передать переменную сессии из IIS одной платформы в IIS на другой платформе
Дано: пользователь проходит аутентификацию на первом сервере (Win2kServ,...

IIS 7 EXPRESS и IIS 8: как протестировать свой сайт
Здравствуйте. Проблема такова, запустил IIS 8 на компьютере и теперь немогу...

Специалистам по ADSI+IIS (GetObject('IIS://LocalHost/W3SVC/' & WebSiteNum & '/Root'))
Есть такая возможность, как получение свойст, создание и удаление веб сайтов (и...

SMTP client
Добрый день. Задача у меня не сложная (казалось бы). Написать класс, который...

18
Alexey
0 / 0 / 3
Регистрация: 27.03.2012
Сообщений: 5
19.04.2012, 14:05 #2
сообщения в папке queue смотрел?
логи?
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
19.04.2012, 14:31 #3
Попробуй указать в качестве smart host адрес SMTP сервера своего провайдера. Как это сделать смотри в присоединенной картинке.

И, еще, под WinXP и Win2003 лучше использовать более новую библиотеку CDO for Windows 2000. CDONTS.NewMail уже устарел и не поддерживается.
0
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
23.04.2012, 00:54  [ТС] #4
Добрый вечер.

Юзаю CDO :

Код
function sendmail_cdo(message)
 consid_ = Request.QueryString("consid")
 sql = "SELECT ...."
 set rs = conn2.Execute(sql)
 if not rs.EOF then id = ...
 Set cdoConfig = CreateObject("CDO.Configuration")  
 With cdoConfig.Fields  
  .Item(cdoSendUsingMethod) = cdoSendUsingPort  
  .Item(cdoSMTPServer) = "smtp.newmail.ru"  
  .Item(cdoSMTPAuthenticate) = 1  
  .Item(cdoSendUsername) = "tcolonel@hotmail.ru"  
  .Item(cdoSendPassword) = "dfktynby"  
  .Update  
 End With 
 Set cdoMessage = CreateObject("CDO.Message")  
 With cdoMessage 
 Set .Configuration = cdoConfig 
  .BodyPart.Charset = "windows-1251"
  .From = "..."
  .To = "..."
  .Subject = "..."
  .TextBody = message
  .Send 
 End With 
 Set cdoMessage = Nothing
 Set cdoConfig = Nothing
end function
Выдается ошибка на строке .Item(cdoSendUsingMethod) = cdoSendUsingPort :
Тип ошибки:
ADODB.Fields (0x800A0BB9)
Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
/.../scripts.inc, line 786

В чем проблема ?

Спасибо.
0
Alexey
0 / 0 / 3
Регистрация: 27.03.2012
Сообщений: 5
23.04.2012, 02:24 #5
это константа, которая видимо у тебя не доступна
объяви ее
Const cdoSendUsingPort = 2
0
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
23.04.2012, 21:40  [ТС] #6
где можно посмотреть и почитать про эти константы ?
0
Alexey
0 / 0 / 3
Регистрация: 27.03.2012
Сообщений: 5
23.04.2012, 22:39 #7
msdn
0
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
24.04.2012, 13:16  [ТС] #8
Нашел в чем проблема ... Не хватало строчки :
Код
<!--METADATA TYPE="typelib"  UUID="CD000000-8B95-11D1-82DB-00C04FB1625D"  NAME="CDO for Windows 2000 Library" -->
Но теперь другая проблема :
Есть код :
Код
 Set cdoConfig = CreateObject("CDO.Configuration")  
 With cdoConfig.Fields  
  .Item(cdoSendUsingMethod) = cdoSendUsingPort
  .Item(cdoSMTPServer) = "smtp.newmail.ru"
  .Item(cdoSMTPAuthenticate) = 1
  .Item(cdoSendUsername) = "<profile>"
  .Item(cdoSendPassword) = "<password>"
  .Update
 End With
 Set cdoMessage = CreateObject("CDO.Message")
 With cdoMessage 
  Set .Configuration = cdoConfig 
  .BodyPart.Charset = "windows-1251"
  .From = "<email>"
   .To = "<email>"
   .Subject = ""
   .TextBody = ""
   .Send 
  End With 
  Set cdoMessage = Nothing
  Set cdoConfig = Nothing
Выдает ошибку :

Error Type:
(0x80040211)
/scripts.inc, line 803

где line 803 - .Send

Я почитал здесь : http://www.relib.com/forums/thread880437-2.aspx
Но, у меня сервер указан.
Если ставлю
Код
.Item(cdoSendUsingMethod) = 1
, ошибки не происходит, но и письма не приходят на ящик ...

В чем может быть проблема ? Может быть проблема в SMTP в IIS ?

Спасибо.
0
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
24.04.2012, 13:22  [ТС] #9
Письма остаются в папке Queue.
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
25.04.2012, 12:22 #10
В EventLog есть какие-нибудь ошибки?
0
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
26.04.2012, 06:43  [ТС] #11
Нет, записей нет никаких ....
Удивительно, но на другом компе все работает ...
Правда там Win2003 ...

Проблема осталась ....
0
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
29.04.2012, 17:29  [ТС] #12
Так никто не подскажет в чем может быть дело ?
Никто не сталкивался с такой проблемой ?
По идее ошибки не должно возникать. Посмотрел msdn, там про это нет подробностей.
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
29.04.2012, 18:09 #13
У меня больше нет идей.
0
Alexey
0 / 0 / 3
Регистрация: 27.03.2012
Сообщений: 5
29.04.2012, 18:27 #14
на вскидку

1. ты пытаешься использовать внешний SMTP-сервис smtp.newmail.ru

на твоем вебсервере (сети и т.п.) есть прокси, firewall? если да, то
они настроены? порт 25 (или какой там еще настроен)?
newmail.ru позволяет отправку извне?

2. .Item(cdoSendUsingMethod) = 1 означает использование собственного пикап-сервиса, естественно, что newmail.ru не может забрать письма с твоего диска, но ошибки нет, т.к. ее действительно нет
0
Alexey
0 / 0 / 3
Регистрация: 27.03.2012
Сообщений: 5
29.04.2012, 18:40 #15
к пункту 1 добавляются также установленные антивирусы
например, поиск в гугле показал, что McAfee VirusScan имеют фичу "Prevent mass mailing worms from sending mail", которую надо настроить чтобы не было данной ошибки с 0x80040211 которая означает The message could not be sent to the SMTP server. The transport error code was 0x800ccc15. [bold]The server response was not available[/bold].
0
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
01.05.2012, 05:20  [ТС] #16
Доброго всем здравия.

См. аттач. Если использую :
1) .Item(cdoSendUsingMethod) = 2
Выдается такая ошибка :
Код
[bold]Тип ошибки:[/bold]
(0x8004020E)
Не удается изменить или удалить объект, добавленный с использованием COM+ Admin SDK
Письма отправляются в Badmail

2).Item(cdoSendUsingMethod) = 1
Письма отправляются в папку Drop.

Firewall, proxy, McAfee - отсутсвуют. Доступ в инет через NAT. Используется порт 2525.
0
bazile
65 / 41 / 68
Регистрация: 15.03.2007
Сообщений: 6,909
01.05.2012, 12:21 #17
Цитата Сообщение от TColonel
Если использую :
1) .Item(cdoSendUsingMethod) = 2
Выдается такая ошибка :
Тип ошибки: (0x8004020E)
Не удается изменить или удалить объект, добавленный с использованием COM+ Admin SDK

Письма отправляются в Badmail
В какой строке ошибка возникает? Приведи ее.
0
Alexey
0 / 0 / 3
Регистрация: 27.03.2012
Сообщений: 5
01.05.2012, 12:42 #18
посмотри вот это описание http://www.powerasp.com/content/new/sending_email_cdosys.asp и вот этот пост http://www.experts-exchange.com/Web/Web_Languages/ASP/Q_20888226.html о такой же проблеме (вроде?) как у тебя

там решилось добавлением

<!--METADATA TYPE="typelib" UUID="CD000000-8B95-11D1-82DB-00C04FB1625D" NAME="CDO for Windows 2000 Library" -->
<!--METADATA TYPE="typelib" UUID="00000205-0000-0010-8000-00AA006D2EA4" NAME="ADODB Type Library" -->

первая строчка как я понимаю у тебя уже есть
0
TColonel
0 / 0 / 1
Регистрация: 12.04.2011
Сообщений: 287
08.05.2012, 09:34  [ТС] #19
Спасибо.
0
08.05.2012, 09:34
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2012, 09:34
Привет! Вот еще темы с решениями:

Почтовый клиент (SMTP)
Написал код почтового клиента, но отправки писем так и не добился. Пробовал и...

Подключение к почте через SMTP
Добрый день, форум, хотелось узнать можно ли собрать почту через этот SMTP?...

сохранить Smtp-исходник письма
Добрый день. Пишу на VBScript, отправляю письмо с помощью объекта...

Настройка smtp для gmail.com
&lt;system.net&gt; &lt;mailSettings&gt; &lt;smtp from=&quot;*****@gmail.com&quot;&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru