这是我第一次在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;
答案 0 :(得分:2)
我不会这样做。如果服务器不在同一台机器上,则从ASP.NET伸出需要Net / COM桥接,然后是DCOM。说明,谈论自己的协议使用端口1352,而不是25.你有更好的选择:
使用COM / DCOM是你想要做的最后一件事。