Attualmente, la funzione Posta in JSL ti consente di inviare e-mail a un elenco di indirizzi e-mail validi, tuttavia, lo fa incrementando l'elenco e inviando una singola e-mail a ciascun destinatario.Su una macchina in cui il client di posta elettronica richiede l'intervento dell'utente per consentire l'invio di un messaggio di posta elettronica da JMP (ad es. Outlook su Windows in un ambiente aziendale), ciò significa che l'utente deve sedersi e attendere un messaggio di avviso per ciascun destinatario, a volte con un -in ritardo!Questo è altamente inefficiente e significa che l'invio di un rapporto alle parti interessate interessate richiede tanto tempo, se non più, quando automatizzato utilizzando la funzione Posta, quanto semplicemente copiare e incollare manualmente il rapporto in un'e-mail.
JMP versione 16.2.0
Codice di esempio (presuppone i rapporti salvati nella cartella temporanea come png, utilizza indirizzi e-mail fittizi):
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>