在ASP.Net MVC

时间:2016-09-19 10:55:35

标签: asp.net-mvc lotus-notes

这是我第一次在MVC中为ASP.Net创建电子邮件通知功能,并且至今仍在学习基本内容。我在代码中提出了几个问题,我仍然在这里研究,Link

1. sServerName - 从哪里可以在Lotus Notes中找到服务器名称?我不知道放在这里有什么价值。

2. password - 我会在这里使用发件人的Lotus Notes密码吗?

3.我打算将以下代码作为ActionResult放在Controller中,View中的按钮会调用这些代码。电子邮件完成执行后,此方法将返回View。这是对的吗?

4.我注意到端口没有定义,是否可以定义端口?根据我的研究,LN在使用SMTP接收和发送电子邮件时使用端口25。

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 个答案:

答案 0 :(得分:2)

我不会这样做。如果服务器不在同一台机器上,则从ASP.NET伸出需要Net / COM桥接,然后是DCOM。说明,谈论自己的协议使用端口1352,而不是25.你有更好的选择:

  • 为dotNET使用通用SMTP库,并使用SMTP与Domino服务器通信
  • 使用Command line eMail client并跨越操作系统任务与之对话
  • 甜蜜地谈论您的Domino开发人员为您提供与之交谈的Web服务(易于在Domino中构建),因此您可以轻松地说HTTP
  • 冒险一点,使用({3}}中描述的(未记录的)HTTP API。

使用COM / DCOM是你想要做的最后一件事。