private async Task SendInvite(UserInviteModel inviteModel, User recipientUser, IPrincipal principal, string link) { var name = _userClaimManager.GetDisplayName(principal); var email = _userClaimManager.GetEmail(principal); var inviteEmail = new UserInviteEmail { TenantName = _userClaimManager.GetTenantName(principal), SenderName = name, SenderEmail = email, ReplyToName = name, ReplyToAddress = email, RecipientName = recipientUser.DisplayName, RecipientAddress = recipientUser.Email, Link = link, UserAgent = inviteModel.UserAgent, Browser = inviteModel.Browser, OperatingSystem = inviteModel.OperatingSystem, DeviceFamily = inviteModel.DeviceFamily, DeviceBrand = inviteModel.DeviceBrand, DeviceModel = inviteModel.DeviceModel, IpAddress = inviteModel.IpAddress }; Logger.LogInformation("Sending user invite email to '{recipient}'", recipientUser.Email); await EmailTemplate.SendUserInviteEmail(inviteEmail); }
public async Task <bool> SendUserInviteEmail(UserInviteEmail inviteEmail) { var emailTemplate = await GetEmailTemplate(Templates.UserInvite).ConfigureAwait(false); // use model reply to address emailTemplate.ReplyToAddress = inviteEmail.ReplyToAddress; emailTemplate.ReplyToName = inviteEmail.ReplyToName; await SendTemplate(emailTemplate, inviteEmail).ConfigureAwait(false); return(true); }