コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }