更改LotusNotes中的“from”字段

时间:2015-05-20 15:26:51

标签: java lotus-notes

我正在使用LotusNotes API发送电子邮件,我需要做的是更改“from”字段值,请找到以下代码:

public void sendEmail(String recipient, String subject, String bodyText,String from) throws NotesException {

    Session dominoSession = NotesFactory.createSession(dominoServer, dominoUsername, dominoPassword);
    Database dominoDb = dominoSession.getDatabase(dominoServer, dominoMailbox);

    Document memo = dominoDb.createDocument();
    memo.appendItemValue("Form", "Memo");
    memo.appendItemValue("Importance", "1");
    memo.appendItemValue("Subject", subject);
    memo.appendItemValue("Body", bodyText);
    memo.send(false, recipient);

    dominoDb.recycle();
    dominoSession.recycle();
}

3 个答案:

答案 0 :(得分:4)

你无法改变它。服务器始终将当前用户名放入' From'领域。您可以在' Principal'中拥有不同的发件人,但邮件仍会显示实际发送的人。 但有一个解决方法:而不是发送邮件将邮件文件直接放入服务器上的mail.box。然后你可以使用' From'您选择的字段内容。

答案 1 :(得分:1)

我编辑了Michele的答案,以澄清一些事情。如果您是初学者,我建议您不要使用(未记录的)mail.box方法......您需要知道自己在做什么。

我在Lotusscript中创建了一个邮件通知课程,如果你愿意,你可以看看它。也许它会对你有所帮助。

http://blog.texasswede.com/lotusscript-mail-notification-class/

但是,如果你不知道自己在做什么,请非常小心......: - )

答案 2 :(得分:0)

这是我解决它的方法,设置"来自"属性:

public void sendEmail(final String recipient, final String subject, final String bodyText, final String from) throws NotesException {

    final Session dominoSession = NotesFactory.createSession(dominoServer, dominoUsername, dominoPassword);
    final Database dominoDb = dominoSession.getDatabase(dominoServer, dominoMailbox);

    final Document mail = dominoDb.createDocument();
    mail.appendItemValue("Form", "Memo");
    mail.appendItemValue("Importance", "1");
    mail.appendItemValue("Subject", subject);
    mail.appendItemValue("Body", bodyText);
    mail.replaceItemValue("From", from + "@NotesDomain");
    mail.replaceItemValue("InetFrom", from);
    mail.send(false, recipient);

    dominoDb.recycle();
    dominoSession.recycle();
}