目前,JSL 中的 Mail 功能允许您将电子邮件发送到有效电子邮件地址列表,但是,它通过在列表中递增并向每个收件人发送单独的电子邮件来实现。在电子邮件客户端需要用户干预以允许 JMP 发送电子邮件的机器上(例如企业环境中的 Windows 上的 Outlook),这意味着用户必须坐下来等待每个收件人的警告消息,有时使用内置的-延迟!这是非常低效的,并且意味着使用邮件功能自动向感兴趣的利益相关者发送报告需要的时间与手动将报告复制并粘贴到电子邮件中一样多,甚至更多。
JMP 版本 16.2.0
示例代码(假设在 temp 文件夹中保存的报告为 png,使用虚拟电子邮件地址):
sites = {"Site-1", "Site-2"};
report_path = Convert File Path( "$TEMP" );
default_dn = "example.com";
maillist = Associative Array(
sites,
{{// Site-1
"support@example.com", "stakeholder1@example.com", "stakeholder2@example.com", "stakeholder3@example.com"},
{// Site-2
"support@example.com", "stakeholder3@example.com", "vpsales@example.com"}}
);
For( i = 1, i <= N Items( sites ), i++,
site = sites[i];
rep_title = Eval Insert( "^site^_Report" );
temp_file_path = Convert File Path( report_path || "/" || rep_title || ".png" );
winmail = New Window( Eval Insert( "Send ^site^ Email" ),
V List Box(
Lineup Box( N Col( 2 ),
Text Box( "To:" ),
H List Box(
lb_to = List Box( maillist[site], <<NLINES> 0,
newl = lb_to << Get Items;
For( i = N Items( newl ), i > 0, i--,
If( Contains( seli, i ),
Remove From( newl, i )
)
);
lb_to << Set Items( newl );
);
)
)
),
Text Box( "Subject:" ),
teb_subj = Text Edit Box( rep_title ),
Text Box( "Body:" ),
teb_body = Text Edit Box(
Eval Insert( "Hello All,\!N\!tPlease find ^rep_title^ attached.\!N\!N" ),
<<SETNLINES></SETNLINES></NLINES>你好@gob0b , 谢谢你的建议! 我们已记录您的请求,并将予以考虑。
@gob0b感谢您对邮件功能的投入。我们正在调查此事,并会在有更多信息要分享时跟进。
同意这是对许多用户使用电子邮件功能的一个交易破坏者!将其纳入此项目的请求会很棒直接发送带有警报脚本的图表 - JMP 用户社区
并使电子邮件功能超级有用!
JMP 19 的 Python 连接功能有一个变通方法,即让 JMP 启动一个处理电子邮件的 Python 脚本。
Python Submit File( "send_email.py" );<BR />
其中 send_email.py 是同一目录下的一个 Python 脚本。