我正在使用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();
}
答案 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();
}