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)
{
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.ForgotPasswordEmailTemplateName);
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.NewTransferEmailTemplateName);
var placeholders = new Dictionary<string, string>
{
@ -76,7 +76,7 @@ namespace TIAM.Services.Server
{ TiamConstClient.NewTransferEmailParameters[5], passengerCount },
{ TiamConstClient.NewTransferEmailParameters[6], luggageCount },
{ TiamConstClient.NewTransferEmailParameters[7], settingBaseUrl },
{ TiamConstClient.NewTransferEmailParameters[7], transferId }
{ TiamConstClient.NewTransferEmailParameters[8], transferId }
};
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)
{
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.ForgotPasswordEmailTemplateName);
string template = EmailTemplateHelper.GetTemplate(TiamConstClient.TransferModifiedEmailTemplateName);
var placeholders = new Dictionary<string, string>
{
@ -96,7 +96,7 @@ namespace TIAM.Services.Server
{ TiamConstClient.NewTransferEmailParameters[5], passengerCount },
{ TiamConstClient.NewTransferEmailParameters[6], luggageCount },
{ TiamConstClient.NewTransferEmailParameters[7], settingBaseUrl },
{ TiamConstClient.NewTransferEmailParameters[7], transferId }
{ TiamConstClient.NewTransferEmailParameters[8], transferId }
};
return EmailTemplateHelper.ReplacePlaceholders(template, placeholders);

View File

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

View File

@ -32,6 +32,7 @@ using TIAM.Database.DbSets.Transfers;
using TIAM.Services.Interfaces;
using TIAM.Entities.Products;
using AyCode.Core.Enums;
using TIAM.Core.Consts;
namespace TIAMWebApp.Server.Controllers
{
@ -534,32 +535,20 @@ namespace TIAMWebApp.Server.Controllers
_logger.Info($"Created transfer, send emailMessage!!!");
var message = new MessageSenderModel<EmailMessage>();
message.Message = new EmailMessage();
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.ContextId = transfer.Id;
message.Message.ContextType = MessageContextType.Transfer;
message.Message.SenderId = Guid.Empty;
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), transfer.UserId, Guid.NewGuid(), transfer.ContactEmail));
//string FormatEmailContent()
//{
// return $@"
// <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.SenderId = TiamConstClient.SysAccounts["SystemEmailSender"];
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), transfer.UserId, message.Message.Id, transfer.ContactEmail));
foreach(var admin in TiamConstClient.SysAdmins)
{
var adminUser = _adminDal.GetUserById(admin, true);
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), admin, message.Message.Id, adminUser.EmailAddress));
}
message.Message.Text = EmailTemplateHelper.GenerateNewTransferEmail(
transfer.FullName,
transfer.FromAddress,
@ -634,33 +623,18 @@ namespace TIAMWebApp.Server.Controllers
var message = new MessageSenderModel<EmailMessage>();
message.Message = new EmailMessage();
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.ContextId = createdTransfer.Id;
message.Message.ContextType = MessageContextType.Transfer;
message.Message.SenderId = Guid.Empty;
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), createdTransfer.UserId, Guid.NewGuid(), createdTransfer.ContactEmail));
//string FormatEmailContent()
//{
// return $@"
// <html>
// <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.SenderId = TiamConstClient.SysAccounts["SystemEmailSender"];
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), createdTransfer.UserId, Guid.NewGuid(), createdTransfer.ContactEmail));
foreach (var admin in TiamConstClient.SysAdmins)
{
var adminUser = _adminDal.GetUserById(admin, true);
message.Message.Recipients.Add(new EmailRecipient(Guid.NewGuid(), admin, message.Message.Id, adminUser.EmailAddress));
}
message.Message.Text = EmailTemplateHelper.GenerateNewTransferEmail(
createdTransfer.FullName,
createdTransfer.FromAddress,