155 lines
6.4 KiB
Matlab
Executable File
155 lines
6.4 KiB
Matlab
Executable File
function sendReportmail(NomeSito,Coordinate,meseadesso,NomeReport,NomeReport_ENG,...
|
|
Users_Report,recipients_ASE,Mail,Mail_ASE,activeEN,rU,cU,FileName)
|
|
|
|
text = 'sendReportmail function started';
|
|
fileID = fopen(FileName,'a');
|
|
fmt = '%s \r';
|
|
fprintf(fileID,fmt,text);
|
|
|
|
%% Email
|
|
setpref('Internet','E_mail','aseparma@gmail.com');
|
|
setpref('Internet','SMTP_Server','smtp.gmail.com');
|
|
setpref('Internet','SMTP_Username','aseparma@gmail.com');
|
|
setpref('Internet','SMTP_Password','Mums@2016');
|
|
props=java.lang.System.getProperties;
|
|
pp=props.setProperty('mail.smtp.auth','true'); %#ok
|
|
pp=props.setProperty('mail.smtp.socketFactory.class','javax.net.ssl.SSLSocketFactory'); %#ok
|
|
pp=props.setProperty('mail.smtp.socketFactory.port','465'); %#ok
|
|
|
|
recipients_ITA = cell(1);
|
|
recipients_ENG = cell(1);
|
|
|
|
% A chi mando la mail
|
|
nI = 1;
|
|
nE = 1;
|
|
if cU >1 % sono presenti utenti a cui inviare la mail
|
|
for i = 1:rU
|
|
if Users_Report{i,4} == 2
|
|
recipients_ITA{nI,1} = Users_Report(i,3);
|
|
nI = nI+1;
|
|
else
|
|
recipients_ENG{nE,1} = Users_Report(i,3);
|
|
nE = nE+1;
|
|
end
|
|
end
|
|
end
|
|
|
|
% report si riferisce al mese prima di quello attuale
|
|
if meseadesso == 1
|
|
mesemail = 'Dicembre';
|
|
mesemailENG = 'December';
|
|
elseif meseadesso == 2
|
|
mesemail = 'Gennaio';
|
|
mesemailENG = 'January';
|
|
elseif meseadesso == 3
|
|
mesemail = 'Febbraio';
|
|
mesemailENG = 'February';
|
|
elseif meseadesso == 4
|
|
mesemail = 'Marzo';
|
|
mesemailENG = 'March';
|
|
elseif meseadesso == 5
|
|
mesemail = 'Aprile';
|
|
mesemailENG = 'April';
|
|
elseif meseadesso == 6
|
|
mesemail = 'Maggio';
|
|
mesemailENG = 'May';
|
|
elseif meseadesso == 7
|
|
mesemail = 'Giugno';
|
|
mesemailENG = 'June';
|
|
elseif meseadesso == 8
|
|
mesemail = 'Luglio';
|
|
mesemailENG = 'July';
|
|
elseif meseadesso == 9
|
|
mesemail = 'Agosto';
|
|
mesemailENG = 'August';
|
|
elseif meseadesso == 10
|
|
mesemail = 'Settembre';
|
|
mesemailENG = 'September';
|
|
elseif meseadesso == 11
|
|
mesemail = 'Ottobre';
|
|
mesemailENG = 'October';
|
|
elseif meseadesso == 12
|
|
mesemail = 'Novembre';
|
|
mesemailENG = 'November';
|
|
end
|
|
|
|
if meseadesso == 1 % gennaio
|
|
annomail = datestr(today-32,'yyyy'); % anno precedente
|
|
else % altri mesi
|
|
annomail = datestr(today,'yyyy');
|
|
end
|
|
|
|
latNS = 'N';
|
|
lonEO = 'E';
|
|
lonEO_ENG = 'E';
|
|
if Coordinate(1) < 0
|
|
latNS = 'S';
|
|
end
|
|
if Coordinate(2) < 0
|
|
lonEO = 'O';
|
|
lonEO_ENG = 'W';
|
|
end
|
|
|
|
allegatoPDF = [NomeReport '.pdf'];
|
|
allegatoPDF_ENG = [NomeReport_ENG '.pdf'];
|
|
|
|
%% ita
|
|
subject_ITA = (['Report Automatico ASE - ' mesemail ' ' annomail ' ' NomeSito '']);
|
|
testo = cellstr('Gentile utente,');
|
|
testobis = cellstr('');
|
|
testo2 = cellstr(['in allegato alla presente mail trover' char(224) ' il Report di monitoraggio '...
|
|
'relativo al sito ' NomeSito ', con coordinate geografiche ' num2str(abs(Coordinate(1))) ' ' latNS ', '...
|
|
num2str(abs(Coordinate(2,:))) ' ' lonEO '. Il presente documento viene generato automaticamente dal '...
|
|
'software proprietario sviluppato da ASE S.r.l. con cadenza mensile e '...
|
|
'riporta i dati di maggior interesse registrati dalla strumentazione installata '...
|
|
'in sito durante il periodo temporale di riferimento, che a meno di interruzioni '...
|
|
'prolungate di trasmissione del dato coincide con l''ultimo mese di monitoraggio. '...
|
|
'In particolare, il Report allegato a questa mail presenta i dati raccolti nel mese di ' mesemail ' ' annomail '.']);
|
|
testo3 = cellstr(['Si vuole sottolineare che questo documento ' char(232) ' generato completamente in automatico '...
|
|
'e non contiene pertanto alcuna valutazione o validazione di carattere tecnico '...
|
|
'relativamente ai risultati ottenuti dalla strumentazione installata. '...
|
|
'Si ricorda inoltre che quanto riportato nel report ' char(232) ' inteso come un riassunto dei risultati '...
|
|
'dell''attivit' char(224) ' di monitoraggio. Per la consultazione completa di tutti i dati '...
|
|
'relativi al sito in esame, si rimanda alla piattaforma interattiva di ASE, accessibile al seguente link: ']);
|
|
Link = cellstr('https://www2.aseltd.eu');
|
|
testo4 = cellstr('Eventuali segnalazioni relative al report automatico possono essere inoltrate al seguente indirizzo email: alessandro.valletta@aseltd.eu');
|
|
message_ITA = [testo; testobis; testo2; testo3; Link; testobis; testo4; testobis];
|
|
message = cellstr('Cordiali saluti, ');
|
|
message2 = cellstr('Il team di ASE S.r.l.');
|
|
message_ITA = [message_ITA; message; message2];
|
|
|
|
%% eng
|
|
subject_ENG = (['ASE Automatic Report - ' mesemailENG ', ' annomail]);
|
|
testoENG = ('Dear user, ');
|
|
testo2ENG = (['please find attached to this email a Report of the monitoring activity performed on site: ' NomeSito ', coordinates '...
|
|
num2str(abs(Coordinate(1))) ' ' latNS ', ' num2str(abs(Coordinate(2,:))) ' ' lonEO_ENG '. '...
|
|
'This document is generated monthly by the automatic software developed by ASE, '...
|
|
'and it reports the main data recorded by the monitoring instrumentation installed '...
|
|
'on-site in the last month. In particular, the automatic Report attached to this email '...
|
|
'refers to monitoring data sampled during ' mesemailENG ', ' annomail '.']);
|
|
testo3ENG = (['We would like to remind you that the main objective of this document is to summarize only the key information provided by each sensor; '...
|
|
'please refer to the web-based interactive platform available at the following link in order to browse all available monitoring data.']);
|
|
testo4ENG = ('For any comment regarding the automatic Report, please send a message to the following email address: alessandro.valletta@aseltd.eu');
|
|
message_ENG = [testoENG; testobis; testo2ENG; testo3ENG; Link; testobis; testo4ENG; testobis];
|
|
messageENG = cellstr('Best regards, ');
|
|
message2ENG = cellstr('The ASE S.r.l. Team');
|
|
message_ENG = [message_ENG; messageENG; message2ENG];
|
|
|
|
if Mail == 1 || Mail_ASE == 1
|
|
if Mail == 1 && cU >1
|
|
recipients_ITA = [recipients_ITA; recipients_ASE];
|
|
else
|
|
recipients_ITA = recipients_ASE;
|
|
end
|
|
sendmail(recipients_ITA, subject_ITA, message_ITA, allegatoPDF)
|
|
if activeEN == 1
|
|
sendmail(recipients_ENG, subject_ENG, message_ENG, allegatoPDF_ENG)
|
|
end
|
|
end
|
|
|
|
%scrivo invio nel logfile
|
|
text = (['Automatic Report of ' mesemailENG ' sent! sendReportmail function closed']);
|
|
fprintf(fileID,fmt,text);
|
|
fclose(fileID);
|
|
|
|
end |