在lotusscript中我发送自动电子邮件。我希望能够检测到上述错误(当我发送电子邮件的用户不存在,或者是空白等)时,不需要求助于错误处理。
如何在发送备忘录之前检查我是否有一个有效的“收件人”字段?
答案 0 :(得分:3)
获取每个地址并使用它在所有Domino目录的$ Users视图中进行查找。在Domino 8或更高版本中,使用NotesDirectory类。在早期版本中,您必须为每个目录使用NotesDatabase类。如果你受到了打击,你就有了一个有效的地址。如果您没有受到打击,您可能仍然拥有有效的地址。您可以使用Evaluate函数使用[Address821]参数执行@ValidateInternetAddress,以确定它是否看起来像是有效的Internet地址。如果是,您可以假设它是有效的,或者您可以进行进一步的测试。
为了进一步测试,如果地址列表实际上可能包含RFC822格式的地址(例如," joe user"< joe@acme.com>),那么您应该使用Evaluate函数来执行@名称([Address821],以便将其剥离为RFC821(joe@acme.com)格式。然后检查域部分(在@之后)是否与您的服务器配置为接受的有效SMTP域之一匹配。它不是你的域名之一,而是你所做的尽可能多的事情,所以假设它是有效的并交叉你的手指。如果它是你的某个域名,请解析在' @之前的部分。 '并对$ Users进行另一次查找。
请注意,根据您服务器的地址解析设置,其中一些可能不是必需的。