diff --git a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj index 3c38f33d..237098a9 100644 --- a/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj +++ b/AsbCloudInfrastructure/AsbCloudInfrastructure.csproj @@ -14,6 +14,12 @@ + + + PreserveNewest + + + @@ -55,10 +61,4 @@ - - - PreserveNewest - - - diff --git a/AsbCloudInfrastructure/Services/Email/EmailService.cs b/AsbCloudInfrastructure/Services/Email/EmailService.cs index 20c01a5a..84a1f73f 100644 --- a/AsbCloudInfrastructure/Services/Email/EmailService.cs +++ b/AsbCloudInfrastructure/Services/Email/EmailService.cs @@ -35,7 +35,7 @@ namespace AsbCloudInfrastructure.Services } public void EnqueueSend(string address, string subject, string htmlBody) - => new List { address }; + => EnqueueSend(new List { address }, subject, htmlBody); public void EnqueueSend(IEnumerable addresses, string subject, string htmlBody) { @@ -78,7 +78,9 @@ namespace AsbCloudInfrastructure.Services foreach (var mailAddress in mailAddresses) message.To.Add(mailAddress); + //message.To.Add("support@digitaldrilling.ru"); + message.BodyEncoding = System.Text.Encoding.UTF8; message.Body = htmlBody; message.Subject = subject; message.IsBodyHtml = true; @@ -88,7 +90,7 @@ namespace AsbCloudInfrastructure.Services client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(sender, smtpPassword); - //await client.SendMailAsync(message, token); + await client.SendMailAsync(message, token); Trace.TraceInformation($"Send email to {string.Join(',', addresses)} subj:{subject} html body count {htmlBody.Count()}"); }; return func; diff --git a/AsbCloudInfrastructure/Services/Email/MailBodyFactory.cs b/AsbCloudInfrastructure/Services/Email/MailBodyFactory.cs index 66fa899d..06a76c50 100644 --- a/AsbCloudInfrastructure/Services/Email/MailBodyFactory.cs +++ b/AsbCloudInfrastructure/Services/Email/MailBodyFactory.cs @@ -30,7 +30,7 @@ namespace AsbCloudInfrastructure { var drillingProgramHref = MakeDrillingProgramHref(well); - var body = $"

Здравствуйте, {userName}.

" + + var body = $"

Здравствуйте, {userName}.

" + $"На портале {platformName} началось создание программы бурения скважины {drillingProgramHref}," + $" куст {well.Cluster}, месторождение {well.Deposit}." + $"

От вас ожидается загрузка на портал документа «{documentCategory}» в формате excel (*.xlsx)." + @@ -44,7 +44,7 @@ namespace AsbCloudInfrastructure var fileDownloadHref = MakeFileDownloadHref(well.Id, idFile, fileName); var drillingProgramHref = MakeDrillingProgramHref(well); - var body = $"

Здравствуйте, {userName}.

" + + var body = $"

Здравствуйте, {userName}.

" + $"На портал {platformName} загружен документ {fileDownloadHref}" + $" для согласования при создании программы бурения скважины {drillingProgramHref}, куст ({well.Cluster})" + $", месторождение ({well.Deposit}).
" + @@ -58,7 +58,7 @@ namespace AsbCloudInfrastructure var fileDownloadHref = MakeFileDownloadHref(well.Id, idFile, fileName); var drillingProgramHref = MakeDrillingProgramHref(well); - var body = $"

Здравствуйте, {userName}.

" + + var body = $"

Здравствуйте, {userName}.

" + $"На портале {platformName} отклонен загруженный вами документ {fileDownloadHref} " + $" по программе бурения скважины {drillingProgramHref}," + $" куст {well.Cluster}, месторождение {well.Deposit}." + @@ -73,7 +73,7 @@ namespace AsbCloudInfrastructure var fileDownloadHref = MakeFileDownloadHref(well.Id, idFile, fileName); var drillingProgramHref = MakeDrillingProgramHref(well); - var body = $"

Здравствуйте, {userName}.

" + + var body = $"

Здравствуйте, {userName}.

" + $"На портале {platformName} полностью согласован документ {fileDownloadHref} " + $" по программе бурения скважины {drillingProgramHref}," + $" куст {well.Cluster}, месторождение {well.Deposit}." + @@ -102,9 +102,11 @@ namespace AsbCloudInfrastructure protected string MakeSignatue() { var logo = GetImageBase64("logo_32.png"); - var sign = $"
---
" + - $"{companyName}
Это письмо сформировано автоматически.
Для получения помощи по работе на портале " + - $"{platformName} обращайтесь по адресу {supportMail}"; + var sign = $"

---

" + + $"{companyName}
" + + $"Это письмо сформировано автоматически.
" + + $"Для получения помощи по работе на портале {platformName}" + + $"обращайтесь по адресу {supportMail}"; return sign; } @@ -113,10 +115,14 @@ namespace AsbCloudInfrastructure if (string.IsNullOrEmpty(resourceFileName)) return null; - var format = Path.GetExtension(resourceFileName).Trim('.'); - var logoFilePath = Path.Combine("Res" + resourceFileName); - var imageBytes = File.ReadAllBytes(logoFilePath); - return "data:image/" + format + ";base64," + Convert.ToBase64String(imageBytes); + var baseDir = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location); + var resoursesDir = "Res"; + + var logoFilePath = Path.Combine(baseDir, resoursesDir, resourceFileName); + + var imageBytes = File.ReadAllBytes(logoFilePath); + var format = Path.GetExtension(resourceFileName).Trim('.'); + return "data:image/" + format + ";base64," + Convert.ToBase64String(imageBytes); } } }