2016-09-19 2 views
1

Это мой первый раз, когда я создал функцию уведомления по электронной почте для ASP.Net в MVC и до сих пор изучаю основные вещи. У меня есть несколько вопросов из кодов, которые я все еще изучаю, здесь: Link.Настройка уведомления по электронной почте Lotus Notes в ASP.Net MVC

1. sServerName - Откуда я могу найти имя сервера в Lotus Notes? Я понятия не имею, какую ценность здесь поставить.

2. password - Будет ли я использовать пароль Lotus Notes для отправителя?

3. Я планирую поместить коды ниже как ActionResult в Controller, который будет вызываться кнопкой в ​​View. Этот метод вернет View после того, как электронная почта завершит выполнение. Это верно?

4.I заметил, что порт не определен, нормально ли, если порт не будет определен? Основываясь на моем повторном поиске, LN использует порт 25 при использовании SMTP для приема и отправки электронной почты.

NotesSession _notesSession = new NotesSession(); 
NotesDocument _notesDocument = null; 
string sServerName = "ServerName"; 
string sMailFile = "mail\\UserName.nsf"; 
string password = "Password"; 
string sSendTo = "emailaddress.domain.com"; 
string sSubject = "Testmail"; 
_notesSession.Initialize(password); 
NotesDatabase _notesDataBase = _notesSession.GetDatabase(sServerName, sMailFile, false); 

if (!_notesDataBase.IsOpen) 
{ 
_notesDataBase.Open(); 
} 

_notesDocument = _notesDataBase.CreateDocument(); 
_notesDocument.ReplaceItemValue("Form", "Memo"); 
_notesDocument.ReplaceItemValue("SendTo", sSendTo); 
_notesDocument.ReplaceItemValue("Subject", sSubject); 
NotesRichTextItem _richTextItem = _notesDocument.CreateRichTextItem("Body"); 
_richTextItem.AppendText("Test only message. " + "\r\n"); 
_notesDocument.Send(false); 
_richTextItem =null; 
_notesDocument =null; 
_notesDataBase =null; 
_notesSession =null; 
+1

Филипп, вы не хотите путешествовать по этому пути. Он темный и болезненный. COM-поддержка Notes не предназначена для связи класса сервера – stwissel

ответ

2

Я бы этого не сделал. Для выхода из ASP.NET требуется мост Net/COM, а затем DCOM, если сервер не находится на одном компьютере. Примечания, говорить свой собственный протокол использует порт 1352, а не 25. У вас есть лучшие варианты:

  • Используйте общий SMTP библиотека для Dotnet и поговорить с Domino сервера с помощью SMTP-
  • Используйте Command line eMail client и просто охватывают ОС задание поговорить с ним
  • сладкий разговор вашего разработчика Domino в предоставлении вам веб-сервиса для обсуждения (легко построить в Domino), поэтому вы можете с комфортом говорить HTTP
  • Будьте немного более предприимчивы и используйте (недокументированные) HTTP API, как описано в series of blog entries.

Использование COM/DCOM - это последнее, что вы хотите сделать.

+1

Используемый код предполагает, что клиент Notes установлен на компьютере, где работает код. Он использует COM, но DCOM и какой порт для подключения не имеют значения, они обрабатываются самим клиентом. В стороне, используя SMTP-библиотеку, гораздо проще отправлять простые письма. – Duston

+1

С DCOM вы можете уйти без установленного клиента Notes на том же компьютере - если вам удастся правильно настроить dcom. Но никто этого не делает. Я согласен с Duston: SMTP - это путь. Сохраняет независимость от используемого вами почтового сервера – stwissel

+0

@ Duston, поэтому этот код предназначен для клиента, но это было не то, что мне нужно. Наши Notes работают на сервере. Я связался с нашей командой, которая обрабатывает базу данных, и предоставила мне хранимую процедуру, которая уже обрабатывает отправку электронной почты. Мне просто нужно установить параметры. Оказывается, мы не можем работать с клиентской стороны, но только на стороне сервера. Вот почему мы можем использовать только SP. В любом случае, спасибо за все ваши комментарии. Это помогло мне понять SMTP для Lout Notes –

Смежные вопросы