email send fix

This commit is contained in:
Adam 2024-08-18 17:40:41 +02:00
parent 9418e52eed
commit 9ece4cad6f
3 changed files with 26 additions and 51 deletions

View File

@ -64,7 +64,7 @@ namespace TIAM.Services.Server
public static string GenerateNewTransferEmail(string userName, string fromAddress, string toAddress, string appointment, string fullName, string passengerCount, string luggageCount, string settingBaseUrl, string transferId) public static string GenerateNewTransferEmail(string userName, string fromAddress, string toAddress, string appointment, string fullName, string passengerCount, string luggageCount, string settingBaseUrl, string transferId)
{ {
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.ForgotPasswordEmailTemplateName); string template = EmailTemplateHelper.GetTemplate(TiamConstClient.NewTransferEmailTemplateName);
var placeholders = new Dictionary<string, string> var placeholders = new Dictionary<string, string>
{ {
@ -76,7 +76,7 @@ namespace TIAM.Services.Server
{ TiamConstClient.NewTransferEmailParameters[5], passengerCount }, { TiamConstClient.NewTransferEmailParameters[5], passengerCount },
{ TiamConstClient.NewTransferEmailParameters[6], luggageCount }, { TiamConstClient.NewTransferEmailParameters[6], luggageCount },
{ TiamConstClient.NewTransferEmailParameters[7], settingBaseUrl }, { TiamConstClient.NewTransferEmailParameters[7], settingBaseUrl },
{ TiamConstClient.NewTransferEmailParameters[7], transferId } { TiamConstClient.NewTransferEmailParameters[8], transferId }
}; };
return EmailTemplateHelper.ReplacePlaceholders(template, placeholders); return EmailTemplateHelper.ReplacePlaceholders(template, placeholders);
@ -84,7 +84,7 @@ namespace TIAM.Services.Server
public static string GenerateTransferModifiedEmail(string userName, string fromAddress, string toAddress, string appointment, string fullName, string passengerCount, string luggageCount, string settingBaseUrl, string transferId) public static string GenerateTransferModifiedEmail(string userName, string fromAddress, string toAddress, string appointment, string fullName, string passengerCount, string luggageCount, string settingBaseUrl, string transferId)
{ {
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.ForgotPasswordEmailTemplateName); string template = EmailTemplateHelper.GetTemplate(TiamConstClient.TransferModifiedEmailTemplateName);
var placeholders = new Dictionary<string, string> var placeholders = new Dictionary<string, string>
{ {
@ -96,7 +96,7 @@ namespace TIAM.Services.Server
{ TiamConstClient.NewTransferEmailParameters[5], passengerCount }, { TiamConstClient.NewTransferEmailParameters[5], passengerCount },
{ TiamConstClient.NewTransferEmailParameters[6], luggageCount }, { TiamConstClient.NewTransferEmailParameters[6], luggageCount },
{ TiamConstClient.NewTransferEmailParameters[7], settingBaseUrl }, { TiamConstClient.NewTransferEmailParameters[7], settingBaseUrl },
{ TiamConstClient.NewTransferEmailParameters[7], transferId } { TiamConstClient.NewTransferEmailParameters[8], transferId }
}; };
return EmailTemplateHelper.ReplacePlaceholders(template, placeholders); return EmailTemplateHelper.ReplacePlaceholders(template, placeholders);

View File

@ -53,7 +53,7 @@ namespace TIAM.Services.Server
var apiKey = configuration["SendGrid:Key"]; var apiKey = configuration["SendGrid:Key"];
var client = new SendGridClient(apiKey); var client = new SendGridClient(apiKey);
EmailAddress from; EmailAddress from;
if (!message.SenderId.HasValue) if (!message.SenderId.HasValue || message.SenderId == TiamConstClient.SysAccounts["SystemEmailSender"])
{ {
//SYSTEM MAIL //SYSTEM MAIL
message.SenderId = TiamConstClient.SysAccounts.FirstOrDefault(x => x.Key == "SystemEmailSender").Value; message.SenderId = TiamConstClient.SysAccounts.FirstOrDefault(x => x.Key == "SystemEmailSender").Value;
@ -69,8 +69,9 @@ namespace TIAM.Services.Server
if (senderUser == null) if (senderUser == null)
{ {
if (message.SenderId == Guid.Empty) if (message.SenderId == Guid.Empty || TiamConstClient.SysAccounts.Any(x => x.Value == message.SenderId))
{ {
//System message
message.EmailAddress = TiamConstClient.SystemEmailAddress; message.EmailAddress = TiamConstClient.SystemEmailAddress;
from = new EmailAddress(TiamConstClient.SystemEmailAddress, "TourIAm mailservice"); from = new EmailAddress(TiamConstClient.SystemEmailAddress, "TourIAm mailservice");
} }

View File

@ -32,6 +32,7 @@ using TIAM.Database.DbSets.Transfers;
using TIAM.Services.Interfaces; using TIAM.Services.Interfaces;
using TIAM.Entities.Products; using TIAM.Entities.Products;
using AyCode.Core.Enums; using AyCode.Core.Enums;
using TIAM.Core.Consts;
namespace TIAMWebApp.Server.Controllers namespace TIAMWebApp.Server.Controllers
{ {
@ -534,32 +535,20 @@ namespace TIAMWebApp.Server.Controllers
_logger.Info($"Created transfer, send emailMessage!!!"); _logger.Info($"Created transfer, send emailMessage!!!");
var message = new MessageSenderModel<EmailMessage>(); var message = new MessageSenderModel<EmailMessage>();
message.Message = new EmailMessage();
message.Message.Id = Guid.NewGuid(); message.Message.Id = Guid.NewGuid();
message.Message.EmailAddress = TiamConstClient.SystemEmailAddress;
message.MessageType = AyCode.Models.Enums.MessageTypesEnum.email;
message.Message.Subject = "[Tour I Am] New transfer in Budapest"; message.Message.Subject = "[Tour I Am] New transfer in Budapest";
message.Message.ContextId = transfer.Id; message.Message.ContextId = transfer.Id;
message.Message.ContextType = MessageContextType.Transfer; message.Message.ContextType = MessageContextType.Transfer;
message.Message.SenderId = Guid.Empty; message.Message.SenderId = TiamConstClient.SysAccounts["SystemEmailSender"];
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), transfer.UserId, Guid.NewGuid(), transfer.ContactEmail)); message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), transfer.UserId, message.Message.Id, transfer.ContactEmail));
foreach(var admin in TiamConstClient.SysAdmins)
//string FormatEmailContent() {
//{ var adminUser = _adminDal.GetUserById(admin, true);
// return $@" message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), admin, message.Message.Id, adminUser.EmailAddress));
// <html> }
// <body>
// <p>Dear {transfer.FullName},</p>
// <p>We are pleased to inform you that a transfer order has been placed. Below are the details of the transfer:</p>
// <p>{transfer.FromAddress} - {transfer.ToAddress}</p>
// <p>{transfer.Appointment}</p>
// <p>{transfer.FullName}</p>
// <p>{transfer.PassengerCount}</p>
// <p>Please confirm the transfer by clicking on the following link:</p>
// <p><a href=""{Setting.BaseUrl}/mytransfers/{transfer.Id}"">Confirm Transfer</a></p>
// <p>If you did not request this transfer, please disregard this email.</p>
// <p>Thank you,<br/>Tour I Am team</p>
// </body>
// </html>";
//}
//message.Message.Text = FormatEmailContent();
message.Message.Text = EmailTemplateHelper.GenerateNewTransferEmail( message.Message.Text = EmailTemplateHelper.GenerateNewTransferEmail(
transfer.FullName, transfer.FullName,
transfer.FromAddress, transfer.FromAddress,
@ -634,33 +623,18 @@ namespace TIAMWebApp.Server.Controllers
var message = new MessageSenderModel<EmailMessage>(); var message = new MessageSenderModel<EmailMessage>();
message.Message = new EmailMessage(); message.Message = new EmailMessage();
message.Message.Id = Guid.NewGuid(); message.Message.Id = Guid.NewGuid();
message.Message.EmailAddress = TiamConstClient.SystemEmailAddress;
message.MessageType = AyCode.Models.Enums.MessageTypesEnum.email; message.MessageType = AyCode.Models.Enums.MessageTypesEnum.email;
message.Message.Subject = "[Tour I Am] New transfer in Budapest"; message.Message.Subject = "[Tour I Am] New transfer in Budapest";
message.Message.ContextId = createdTransfer.Id; message.Message.ContextId = createdTransfer.Id;
message.Message.ContextType = MessageContextType.Transfer; message.Message.ContextType = MessageContextType.Transfer;
message.Message.SenderId = Guid.Empty; message.Message.SenderId = TiamConstClient.SysAccounts["SystemEmailSender"];
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), createdTransfer.UserId, Guid.NewGuid(), createdTransfer.ContactEmail)); message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), createdTransfer.UserId, Guid.NewGuid(), createdTransfer.ContactEmail));
//string FormatEmailContent() foreach (var admin in TiamConstClient.SysAdmins)
//{ {
// return $@" var adminUser = _adminDal.GetUserById(admin, true);
// <html> message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), admin, message.Message.Id, adminUser.EmailAddress));
// <body> }
// <p>Dear {createdTransfer.FullName},</p>
// <p>We are pleased to inform you that a transfer order has been placed. Below are the details of the transfer:</p>
// <p>
// {createdTransfer.FromAddress} - {createdTransfer.ToAddress}</p>
// <p>{createdTransfer.Appointment}</p>
// <p>{createdTransfer.FullName}</p>
// <p>{createdTransfer.PassengerCount}</p>
// <p>Please confirm the transfer by clicking on the following link:</p>
// <p><a href=""{Setting.BaseUrl}/mytransfers/{createdTransfer.Id}"">Confirm Transfer</a></p>
// <p>If you did not request this transfer, please disregard this email.</p>
// <p>Thank you,<br/>Tour I Am team</p>
// </body>
// </html>";
//}
//message.Message.Text = FormatEmailContent();
message.Message.Text = EmailTemplateHelper.GenerateNewTransferEmail( message.Message.Text = EmailTemplateHelper.GenerateNewTransferEmail(
createdTransfer.FullName, createdTransfer.FullName,
createdTransfer.FromAddress, createdTransfer.FromAddress,