如何指定 SNDSMTPEMM 命令不应处理哪些电子邮件地址变量?

问题描述 投票:0回答:2

有人知道如何告诉 SNDSMTPEMM 不应处理电子邮件收件人地址变量吗? 可以通过指定“*NONE”来对附件完成此操作,但“*N”、“*NONE”或空白均不适用于电子邮件地址。 我创建了一个命令界面和一个 CL CPP 程序,该程序将要求提供电子邮件地址和 *PRI/*CC/*BCC,以便与 SNDSMTPEMM 命令一起使用。命令界面将列出用户输出队列中的所有条目,并将内容发送到一个(或多个)电子邮件地址。由于最多可以有 20 个电子邮件地址,因此我需要能够处理包含任意数量电子邮件的 SNDSMTPEMM 命令。如果我可以在单个命令实例中指定所有 20 个电子邮件地址变量和所有 10 个文件附件,那就最好了(假设该命令有某种方法来识别实际处理哪个电子邮件地址)。现在,我可以通过扩展进程以根据输入的电子邮件地址数量运行 SNDSMTPEMM 命令来解决此问题。但这将涉及复制每组电子邮件地址的命令 - 我正在尝试找到更好的解决方案。

variables ibm-midrange email-address clp control-language
2个回答
0
投票

听起来您已经为 SNDSMTPEMM 编写了或正在编写自己的“包装器”,并且您希望能够接受最多 20 个收件人并将它们传递给 SNDSMTPEMM,类似

SNDSMTPEMM RCP((&ADDR1 &TYPE1)
               (&ADDR2 &TYPE2)
               (&ADDR3 &TYPE3)
               ...
               (&ADDR19 &TYPE19)
               (&ADDR20 &TYPE20))
           SUBJECT(&SUBJ)
           NOTE(&BODY)

您已经为 20 个收件人定义了变量,并且希望始终在 SNDSMTPEMM 命令中包含所有变量;但当然,通常实际收件人数量少于 20 个,因此您想知道如何告诉 SNDSMTPEMM 忽略某些 (&ADDRn &TYPEn) 变量对。

我认为没有办法做到这一点。我认为你必须只传递需要的变量。实现您想要的效果的最佳方法可能是动态构建 SNDSMTPEMM 命令作为字符串,然后使用 QCMDEXC 或类似命令将该字符串作为命令执行。


0
投票

约翰 - 抱歉没有尽快回复您,直到现在我才看到您的回复。我相信你是对的,我不知道正确的语法(如果存在)来告诉命令在不使用电子邮件地址的情况下不处理它 - 这就是我试图解决的问题。对于附件,您可以为每个单独的附件指定 *NONE。但我没有找到对电子邮件收件人执行此操作的方法。据我所知,SNDSMTPEMM 在构建命令字符串时无法绕过电子邮件地址。如果电子邮件地址有类似的“*NONE”选项,那就太好了。

© www.soinside.com 2019 - 2024. All rights reserved.