通过javascript中的lotusnotes发送邮件
Send mails via lotus notes in javascript
我想通过Internet Explorer 9
通过IBM Lotus Notes 8.5
发送电子邮件。我已经为这项任务编写了以下网页的代码。
然而,什么也没发生。
这是我的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Lotus</title>
<script language="javascript" type="text/javascript">
function SendScriptMail()
{
var mToMail = document.getElementById('txtMailId').value
var mSub = document.getElementById('txtSubject').value
var mMsg = document.getElementById('txtContent').value
var Maildb;
var UserName;
var MailDbName;
var MailDoc;
var AttachME;
var Session;
var EmbedObj;
var server;
try
{
// Create the Activex object for NotesSession
Session = new ActiveXObject('Notes.NotesSession');
if(Session !=null)
{
// Get the user name to retrieve database
UserName = Session.UserName;
// Retrieve database from username
MailDbName = UserName.substring(0,1) + UserName.substring(
UserName.indexOf( " " ,1) + 1 ,UserName.length) + ".nsf"
// Get database
Maildb = Session.GetDatabase("", MailDbName);
// open the database
if(Maildb.IsOpen != true)
{
Maildb.OPENMAIL();
}
// Create the mail document
MailDoc = Maildb.CREATEDOCUMENT();
// From email id (Username)
MailDoc.Form = 'Memo';
// To email id
MailDoc.sendto = mToMail;
// Subject of the mail
MailDoc.Subject = mSub;
// Content of the mail
MailDoc.Body = mMsg
// if you want to save message on send, give true here
MailDoc.SAVEMESSAGEONSEND = false;
// send the mail (check ensure the internet connection)
MailDoc.Send(true);
// save the mail in draft (no need of internet connection)
MailDoc.Save(false, true);
// destroy the objects
Maildb = null;
MailDoc = null;
AttachME = null;
EmbedObj = null;
Session.Close();
Session = null;
alert('Mail sent successfully');
}
else
{
alert('Mail not sent');
}
}
catch(err)
{
if(err == '[object Error]')
{
alert('Error while sending mail,
Please check Lotus Notes installed in your system');
}
else
{
alert('Error while sending mail');
}
}
}
</script>
</head>
<body>
<table width="100%" height="100%">
<tr>
<td width="40%" height="130px">
</td>
<td>
</td>
<td width="40%">
</td>
</tr>
<tr>
<td>
</td>
<td>
<table width="100%">
<tr>
<td style="color: Black; font-size: 10px; font-family: Verdana; text-align: left;"
width="100px" valign="top">
Mail Id</td>
<td>
<input id="txtMailId" style="color: #000000; font-size: 10px; font-family: Verdana;
height: 11px; text-align: left; top: auto; border: 1px solid #336699; text-decoration: none;
width: 176px;" type="text" maxlength="50" /></td>
</tr>
<tr>
<td style="color: Black; font-size: 10px; font-family: Verdana; text-align: left;"
valign="top">
Subject</td>
<td>
<input id="txtSubject" style="color: #000000; font-size: 10px; font-family: Verdana;
height: 11px; text-align: left; top: auto; border: 1px solid #336699; text-decoration: none;
width: 176px;" type="text" maxlength="50" /></td>
</tr>
<tr>
<td style="color: Black; font-size: 10px; font-family: Verdana; text-align: left;
height: 79px;" valign="top">
Content</td>
<td>
<textarea id="txtContent" cols="20" style="color: #000000; font-size: 10px; font-family: Verdana;
height: 100px; text-align: left; top: auto; border: 1px solid #336699; text-decoration: none;
width: 300px;"></textarea></td>
</tr>
<tr>
<td>
</td>
<td>
<input id="btnSend" type="button" onclick="SendScriptMail();" style="font-family: Verdana; font-size: 11px; text-align: center;
top: auto; width: 60px; background-color: #A55129; border: 1px solid #336699;
text-decoration: none; font-weight: normal; color: #FFFFFF;" value="Send" />
<input id="btnCancel" style="font-family: Verdana; font-size: 11px; text-align: center;
top: auto; width: 60px; background-color: #A55129; border: 1px solid #336699;
text-decoration: none; font-weight: normal; color: #FFFFFF;" type="button" value="Cancel" onclick="sendEmail();"/></td>
</tr>
</table>
</td>
<td>
</td>
</tr>
<tr>
<td height="130px">
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
</body>
</html>
有什么建议我做错了什么?
我很感激你的回答!
由于您使用本地ActiveX控件,您确定在使用的计算机上安装了Notes客户端(以及正确的DLL文件)吗?你有没有通过调试器(例如Firebug)运行Javascript,看看会发生什么?
我不会这样做,我会写一个服务器端脚本,你可以从网页上调用它。请参阅下面的代码。然后,您只需在服务器上编写一个Lotusscript代理即可进行调用。它会阅读你通过的论点并发送电子邮件。
<script>
$(document).ready(function () {
// Update content div with dynamic content
$('#btnSend').click( function() {
// Get field values
var mailTo = $('#txtMailId').val();
var subject = $('#txtSubject').val();
var content = $('#txtContent').val();
// Make Ajax call to server, passing address, subject and body as arguments
$.ajax({
url: '/database.nsf/SendWebMail?OpenAgent',
data: {
mailto: mailTo,
subject:subject,
body:content
},
cache: false
}).done(function(data) {
$('#returnMessage').html(data);
});
});
});
</script>
相关文章:
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 借助asp.net验证或java脚本对多个文本进行验证
- java.net和javascript之间正则表达式的差异
- 如何从Java/scala调用js美化程序
- 如何使用json将对象列表从java转换为javascript
- Java脚本时间添加
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- 如何将字符串值从php页面发送到java脚本页面
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- DOM事件通过JSON转换为java
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- JSON分析错误:Java中AJAX、Javascript和Servlet的意外EOF
- java脚本在Chrome和其他浏览器中对LocaleTimeString的不同行为
- 错误405:向Java控制器(Ajax)发送JSON时找不到POST方法
- Java-彩票统计解析器
- 如何将变量数据从Java类获取到JavaScript
- Java脚本将URL转换为已保存的URL时出错
- 将这些正则表达式从javascript转换为Java
- 如何使用Java脚本创建提交按钮's的拖放功能