Derzeit können Sie mit der Mail-Funktion in JSL E-Mails an eine Liste gültiger E-Mail-Adressen senden, dies geschieht jedoch, indem Sie die Liste schrittweise durchlaufen und eine individuelle E-Mail an jeden Empfänger senden.Auf einem Computer, auf dem der E-Mail-Client einen Benutzereingriff erfordert, damit eine E-Mail von JMP gesendet werden kann (z. B. Outlook unter Windows in einer Unternehmensumgebung), bedeutet dies, dass der Benutzer sitzen und auf eine Warnmeldung für jeden Empfänger warten muss, manchmal mit einer eingebauten -in Verzug!Dies ist höchst ineffizient und bedeutet, dass das Versenden eines Berichts an interessierte Stakeholder genauso viel, wenn nicht sogar mehr Zeit erfordert, wenn es mithilfe der Mail-Funktion automatisiert wird, als würde man den Bericht einfach manuell kopieren und in eine E-Mail einfügen.
JMP-Version 16.2.0
Beispielcode (unter der Annahme, dass Berichte im temporären Ordner als pngs gespeichert werden, verwendet Dummy-E-Mail-Adressen):
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>