Автоматизируйте почту в Lotus Notes - PullRequest
0 голосов
/ 10 января 2012

Нам нужно открыть клиент Lotus Notes со страницы JSP.

В настоящее время в JSP мы открываем клиент Microsoft Outlook, используя ActiveXObject(Outlook.Application)

Из электронной почты, чтобыадрес электронной почты, тема электронного письма и текст сообщения должны быть заполнены в области запроса.У меня есть одно решение, но в нем можно только отправлять письма напрямую, мне нужно открыть страницу Lotus Notes.Есть несколько методов, таких как sendto, form, create.Есть ли какой-нибудь метод, который открывает опцию составить почту, когда мы нажимаем кнопку отправки после ввода всех деталей?Не только JavaScript .Если решение находится на Java, также нет проблем.

Обычно пользователь просто щелкает какую-то ссылку на странице, и затем клиент Lotus Notes должен открывать предварительно заполненную информацию.Наконец, пользователь должен просмотреть содержимое электронной почты, добавить любое сообщение, которое ему нужно добавить, в тело сообщения электронной почты, а затем, наконец, отправить электронное письмо.Если возможно, пришлите мне код также.

Ответы [ 2 ]

2 голосов
/ 11 января 2012

Исходя из вашего сообщения здесь , похоже, что вы в настоящее время используете фоновые классы, когда хотите использовать интерфейсные функции / пользовательский интерфейс.

Я согласен с этот пост - если возможно, вы должны использовать mailto: link для этой функции.Если Lotus Notes является программой электронной почты по умолчанию, ссылка mailto: запустит клиент Notes, создаст памятку и заполнит поля, которые вы хотите, тем, что вы укажете.

Если mailto: не дает того, что вам нужно, вы можете попробовать использовать интерфейсные классы из «Классов автоматизации Lotus Notes».Вот модифицированная версия вашего примера кода из поста CodeProject:

<!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 Session;
    var Maildb;
    var UI;
    var MailDoc;
    try {
        // Create the Activex object for NotesSession
        Session = new ActiveXObject('Notes.NotesSession');
        if (Session == null) {
            throw("NoSession");
        } else {
            // Get mail database
            Maildb = Session.GetDatabase("", "");
            Maildb.OPENMAIL();
            if (Maildb == null) {
                throw("NoMaildb");
            } else {
                // Create the ActiveX object for NotesUIWorkspace
                UI = new ActiveXObject('Notes.NotesUIWorkspace');
                if (UI == null) {
                    throw("NoUI");
                } else {
                    MailDoc=UI.Composedocument(Maildb.SERVER, Maildb.FILEPATH, 'Memo');
                    if (MailDoc == null) {
                        throw('NoMailDoc');
                    } else {
                        // Populate the fields
                        MailDoc.Fieldsettext('SendTo', mToMail);
                        MailDoc.Fieldsettext('Subject', mSub);
                        // insert message body and place cursor at end of text
                        MailDoc.Gotofield('Body');
                        MailDoc.Inserttext(mMsg); 
                        // destroy the objects
                        Session.Close();
                        Session = null;
                        UI = null;
                        Maildb = null;
                        MailDoc = null;
                    }
                }
            }
        }
    } catch (err) {
        // feel free to improve error handling...
        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="50px" 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: 75px; text-align: left; top: auto; border: 1px solid #336699; text-decoration: none;
                                width: 176px;"></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" /></td>
                    </tr>
                </table>
            </td>
            <td>
            </td>
        </tr>
        <tr>
            <td height="130px">
            </td>
            <td>
            </td>
            <td>
            </td>
        </tr>
    </table>
</body>
</html>
2 голосов
/ 10 января 2012

Это должно работать примерно так.Прошло много времени с тех пор, как я это реализовал.Если я правильно помню, вы должны:

  1. Создать сеанс в Lotus Notes, следуя этому руководству: http://www.ibm.com/developerworks/lotus/library/ls-Java_access_pt1/index.html

  2. Составьте новый документ в формеmemo в целевой почтовой базе данных и заполните необходимые поля.Что-то вроде:

    Document doc = db.createDocument("Memo");
    doc.setItemValue("Subject", "My Subject");
    doc.setItemValue("SendTo", "MyEmailAddresses");
    
    RichTextItem rti = doc.getFirstItem("Body");
    rti.addText("MyMailContent");
    
    doc.save();
  3. Получите URL документа, который вы создали ранее с помощью doc.getUrl(), и представьте этот URL-адрес как ссылку на JSP.

...