diff --git a/Stundensheet.xlsx b/Stundensheet.xlsx index a33b997d..d0398eb1 100644 Binary files a/Stundensheet.xlsx and b/Stundensheet.xlsx differ diff --git a/nsw/Source/bsmd.ExcelReadService/ExcelReadService.cs b/nsw/Source/bsmd.ExcelReadService/ExcelReadService.cs index c36bae61..0db02132 100644 --- a/nsw/Source/bsmd.ExcelReadService/ExcelReadService.cs +++ b/nsw/Source/bsmd.ExcelReadService/ExcelReadService.cs @@ -61,6 +61,8 @@ namespace bsmd.ExcelReadService string messageId = ""; string attachmentLocalPath = null; string mailSender = ""; + string receiptSubject = "NSW Sheet Service Status INFO"; + using (BSMDPopClient bsmdPopClient = new BSMDPopClient()) { @@ -90,11 +92,14 @@ namespace bsmd.ExcelReadService bool readResult; string readMessage = ""; - MessageCore messageCore = null; + string receiptText = ""; + MessageCore messageCore = null; + if (attachmentLocalPath == null) { - _log.WarnFormat("incoming E-Mail did not contain an Excel attachment!"); + receiptText = "incoming E-Mail did not contain an Excel attachment!"; + _log.WarnFormat(receiptText); } else { @@ -112,7 +117,8 @@ namespace bsmd.ExcelReadService if (!isValidSender) { - _log.WarnFormat("ignored e-mail from illegal sender: {0}", mailSender); + receiptText = string.Format("ignored e - mail from illegal sender: { 0}", mailSender); + _log.Warn(receiptText); } else { @@ -121,21 +127,29 @@ namespace bsmd.ExcelReadService { readResult = Util.ProcessSheet(reader, out readMessage, out messageCore); if (!readResult) - _log.Error("Excel sheet could not be interpreted"); + { + receiptText = string.Format("Incoming sheet could not be read: {0}", readMessage); + _log.Error(receiptText); + } } // TODO: Quittung / set messagecore to createreport and let reportGenerator create a reply? // create a reply sheet (template + scanned highlighted content for verification - - string confirmationExcelFilePath = Util.CreateConfirmationSheet(messageCore); - List sendItems = new List(); - sendItems.Add(confirmationExcelFilePath); - // send reply sheet back to sender - BSMDMail.SendNSWReportWithAttachments(Properties.Settings.Default.SendEMailSubject, sendItems); - + if (readResult) + { + string confirmationExcelFilePath = Util.CreateConfirmationSheet(messageCore); + List sendItems = new List(); + sendItems.Add(confirmationExcelFilePath); + // send reply sheet back to sender + BSMDMail.SendNSWReportWithAttachments(Properties.Settings.Default.SendEMailSubject, sendItems); + } } + if (receiptText.Length > 0) + BSMDMail.SendSystemInfoAsync(receiptSubject, receiptText, null); + + // remove e-Mail _log.InfoFormat("deleting mail with messageId {0}", messageId); _log.InfoFormat("mail delete {0}", bsmdPopClient.DeleteMessageByMessageId(messageId) ? "successful" : "failed"); diff --git a/nsw/Source/bsmd.ExcelReadService/readme.txt b/nsw/Source/bsmd.ExcelReadService/readme.txt new file mode 100644 index 00000000..101aa537 --- /dev/null +++ b/nsw/Source/bsmd.ExcelReadService/readme.txt @@ -0,0 +1,16 @@ +Info von Krawitowski: + +Die Zugangsdaten der Postfächer: + +Hallo Herr Schick, + +ich habe 2 Postfächer gebaut: + +Das erste nswreport@bsmd.de mit dem Kennwort avb!8pZs^V%7$$Td#CMw +Das zweite nsw-sheets@bsmd.de mit dem Kennwort WA*MpYNiM9Y5$d*6GTD3 + +Das erste liefert einen 5.7.1 zurück mit dem Hinweis auf NeReply Postfach.. +Das zweite ist nur Pop aktiviert…. + +die Server IP lautet 192.168.2.101 +SMTP Port ist Standard, POP3 ist 995 mit SSL \ No newline at end of file diff --git a/nsw/Source/bsmd.email/BSMDMail.cs b/nsw/Source/bsmd.email/BSMDMail.cs index 96158a26..8fa6ece2 100644 --- a/nsw/Source/bsmd.email/BSMDMail.cs +++ b/nsw/Source/bsmd.email/BSMDMail.cs @@ -153,9 +153,15 @@ namespace bsmd.email message.IsBodyHtml = false; message.Body = body; - message.To.Add(recipient); MailAddress adminAddress = new MailAddress(Properties.Settings.Default.AdminEmail); - message.CC.Add(adminAddress); + if (recipient != null) + { + message.To.Add(recipient); + message.CC.Add(adminAddress); + } else + { + message.To.Add(adminAddress); + } // http://stackoverflow.com/questions/7276375/what-are-best-practices-for-using-smtpclient-sendasync-and-dispose-under-net-4 // asynchron schicken und wenn's erledigt ist gleich disposen (wichtig!) diff --git a/nsw/Source/bsmd.email/BSMDPopClient.cs b/nsw/Source/bsmd.email/BSMDPopClient.cs index 8350ce72..26944765 100644 --- a/nsw/Source/bsmd.email/BSMDPopClient.cs +++ b/nsw/Source/bsmd.email/BSMDPopClient.cs @@ -68,13 +68,14 @@ namespace bsmd.email part.Save(new FileInfo(attachmentLocalFile)); } } + + return true; } else { - _log.Info("no new mail on server"); - } - - return true; + _log.Debug("no new mail on server"); + return false; + } } ///