1
0
mirror of https://github.com/bitwarden/server synced 2026-01-07 11:03:37 +00:00

feat(marketing-initiated-premium): (Auth) [PM-27541] Add optional marketing param to email verification link (#6604)

Adds an optional `&fromMarketing=premium` query parameter to the verification email link.

Feature flag: `"pm-26140-marketing-initiated-premium-flow"`
This commit is contained in:
rr-bw
2025-11-24 15:06:16 -08:00
committed by GitHub
parent 9131427622
commit 5fb69e42b0
10 changed files with 120 additions and 30 deletions

View File

@@ -78,7 +78,7 @@ public class HandlebarsMailService : IMailService
await _mailDeliveryService.SendEmailAsync(message);
}
public async Task SendRegistrationVerificationEmailAsync(string email, string token)
public async Task SendRegistrationVerificationEmailAsync(string email, string token, string? fromMarketing)
{
var message = CreateDefaultMessage("Verify Your Email", email);
var model = new RegisterVerifyEmail
@@ -86,7 +86,8 @@ public class HandlebarsMailService : IMailService
Token = WebUtility.UrlEncode(token),
Email = WebUtility.UrlEncode(email),
WebVaultUrl = _globalSettings.BaseServiceUri.Vault,
SiteName = _globalSettings.SiteName
SiteName = _globalSettings.SiteName,
FromMarketing = WebUtility.UrlEncode(fromMarketing),
};
await AddMessageContentAsync(message, "Auth.RegistrationVerifyEmail", model);
message.MetaData.Add("SendGridBypassListManagement", true);

View File

@@ -38,7 +38,7 @@ public interface IMailService
/// <returns>Task</returns>
Task SendFreeOrgOrFamilyOrgUserWelcomeEmailAsync(User user, string familyOrganizationName);
Task SendVerifyEmailEmailAsync(string email, Guid userId, string token);
Task SendRegistrationVerificationEmailAsync(string email, string token);
Task SendRegistrationVerificationEmailAsync(string email, string token, string? fromMarketing);
Task SendTrialInitiationSignupEmailAsync(
bool isExistingUser,
string email,

View File

@@ -26,7 +26,7 @@ public class NoopMailService : IMailService
return Task.FromResult(0);
}
public Task SendRegistrationVerificationEmailAsync(string email, string hint)
public Task SendRegistrationVerificationEmailAsync(string email, string hint, string? fromMarketing)
{
return Task.FromResult(0);
}