我有,因为我需要知道谁是当前用户和处理信息,因此运行作为Web用户莲花脚本代理。 问题是,在这个代理发送电子邮件时发件人的电子邮件地址显示在网络用户的电子邮件地址,而不是我所定义的。 我设置了以下字段之前我发送电子邮件(如MIME):
mailDoc.Form = "Memo"
mailDoc.Subject = strSubject
mailDoc.InetSendTo = strFrom
mailDoc.PostedDate = Now
mailDoc.Principal = strFrom
mailDoc.FROM = strFrom
mailDoc.INETFROM = strFrom
mailDoc.~INetPrincipal = strFrom
mailDoc.ReplyTo = strFrom
mailDoc.SendFrom = strFrom
mailDoc.SentBy = strFrom
mailDoc.altFrom = strFrom
mailDoc.tmpDisplaySentBy = strFrom
mailDoc.DisplaySent = strFrom
mailDoc.ToShow = strFrom
mailDoc.SendTo = strSendTo
不过还是发件人地址显示为网络用户的地址。 我缺少的是在这里吗? 任何帮助将非常感激。
该场主要是妥善解决,但真正的发件人的名称可能会被水淹没可见。 其实,有不同的解决方案:直接在mail.box数据库中创建邮件。 这就是TeamMail模板做的OpenNTF什么。 见http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/Team%20Mail%20Tamer
当然,这不是正确的方式,但如果你想混淆发件人,有没有其他解决办法。
当然,从技术上说并不完全正确:您可以创建更改发件人的扩展管理器DLL ...肮脏的,你说呢? 当然。
实际上是通过论坛,搜索,我发现了一个解决这个老问题(http://www-10.lotus.com/ldd/nd6forum.nsf/0/13706561dc7d693f852570af0062fcec?OpenDocument):
Principle = "customerservice@xyz.com"
maildoc.Form = "Memo"
' Principal overrides From
' Must be formatted as below and must include the domain @xyz.com
' Format should equal: "From User" <fromuser@xyz.com@DOMAIN>
maildoc.Principal = |"Customer Service" <| + Principle + |@xyz.com>|
maildoc.From = Principle
maildoc.AltFrom = Principle
maildoc.SendFrom = Principle
maildoc.INetFrom = Principle
maildoc.tmpDisplaySentBy = Principle
maildoc.tmpDisplayFrom_Preview = Principle
maildoc.DisplaySent = Principle
希望这可以帮助其他人 - 这一直是一个问题,我很长一段时间!
Lotus Notes中的安全不会让你重写通过的LotusScript实际发件人信息。 控制它的唯一方法是设置运行代代理的属性从该邮件应该出现来用户。 但是,你有使用设计器来设置,你不能在运行时改变它。
很难从你的问题告诉,但如果你已经试过了,发现网络用户设置将覆盖“代表”设置,你可以尝试分裂电子邮件的创建到第二剂,然后具有第二药剂不运行作为网络用户。
希望这可以帮助!
与您的代码的问题是,你没有正确设置的主要领域。 它应包括@NotesDomain其中NotesDomain是Domino邮件域。
我不喜欢这样的QuerySend
.INetFrom = |"| + strDispName + |" <| + strEmail + ">"
.Principal = |"| + strDispName + |" <| + strEmail + "@" + profile.NotesDomain(0) + ">"
.From = strEmail
.tmpDisplaySentBy = strEmail
至于其他的已经说了,除非你创建mail.box邮件,原始发件人将永远是可见的。 这是Notes / Domino安全性的一部分。
我张贴一些代码在我的博客去年,在这里你可以看到如何做到这一点: http://blog.texasswede.com/lotusscript-mail-notification-class/
谢谢你救了我的解决方案的搜索的第二天! )
在我的情况(发送电子邮件通知发送到用户的Domino服务器从外面像info@server.xxx标准邮箱)我只需要添加下面的字符串备忘录文件:“INetFrom”,并把地址在那里。
所以,即使看邮件的来源(在Gmail帐户),我只看到,在“INetFrom”字段中提到的人!
所以,最终的代码看起来像(SSJS的XPages):
try {
var memo:NotesDocument = database.createDocument();
memo.appendItemValue("Form", "Memo");
memo.appendItemValue("Subject", "Subject text");
memo.appendItemValue("Body", "Body text");
memo.appendItemValue("SendTo", "userName");
memo.appendItemValue("INetFrom", "info@server.com");
memo.send();
}catch (e){
print ("Send Error: " + e);
}