Hi,
You can use the --entry-point option
https://docs.abp.io/en/abp/latest/CLI#options-6
Hi,
All emails not received or some emails not received?
Hi,
we fixed the problem
https://support.abp.io/QA/Questions/6980/How-to-avoid-datetimepicker-to-be-open-everytime-a-modal-is-opened-up
https://github.com/abpframework/abp/issues/19493
Hi,
You can try overriding the AccountEmailer to log the email content and check it.
[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(AccountEmailer))]
public class MyAccountEmailer : AccountEmailer
{
public ILogger<AccountEmailer> Logger { get; set; }
public MyAccountEmailer(IEmailSender emailSender, ITemplateRenderer templateRenderer, IStringLocalizer<AccountResource> stringLocalizer, IAppUrlProvider appUrlProvider, ICurrentTenant currentTenant) : base(emailSender, templateRenderer, stringLocalizer, appUrlProvider, currentTenant)
{
Logger = NullLogger<AccountEmailer>.Instance;
}
public override async Task SendPasswordResetLinkAsync(IdentityUser user, string resetToken, string appName, string returnUrl = null,
string returnUrlHash = null)
{
Debug.Assert(CurrentTenant.Id == user.TenantId, "This method can only work for current tenant!");
var url = await AppUrlProvider.GetResetPasswordUrlAsync(appName);
//TODO: Use AbpAspNetCoreMultiTenancyOptions to get the key
var link = $"{url}?userId={user.Id}&{TenantResolverConsts.DefaultTenantKey}={user.TenantId}&resetToken={UrlEncoder.Default.Encode(resetToken)}";
if (!returnUrl.IsNullOrEmpty())
{
link += "&returnUrl=" + NormalizeReturnUrl(returnUrl);
}
if (!returnUrlHash.IsNullOrEmpty())
{
link += "&returnUrlHash=" + returnUrlHash;
}
var emailContent = await TemplateRenderer.RenderAsync(
AccountEmailTemplates.PasswordResetLink,
new { link = link }
);
Logger.LogInformation($"EmailContent: {emailContent}"); // logger here
try
{
await EmailSender.QueueAsync(
user.Email,
StringLocalizer["PasswordReset"],
emailContent
);
}
catch (Exception e)
{
Logger.LogException(e);
throw new UserFriendlyException(StringLocalizer["MailSendingFailed"]);
}
}
private string NormalizeReturnUrl(string returnUrl)
{
if (returnUrl.IsNullOrEmpty())
{
return returnUrl;
}
//Handling openid connect login
if (returnUrl.StartsWith("/connect/authorize/callback", StringComparison.OrdinalIgnoreCase))
{
if (returnUrl.Contains("?"))
{
var queryPart = returnUrl.Split('?')[1];
var queryParameters = queryPart.Split('&');
foreach (var queryParameter in queryParameters)
{
if (queryParameter.Contains("="))
{
var queryParam = queryParameter.Split('=');
if (queryParam[0] == "redirect_uri")
{
return HttpUtility.UrlDecode(queryParam[1]);
}
}
}
}
}
if (returnUrl.StartsWith("/connect/authorize?", StringComparison.OrdinalIgnoreCase))
{
return HttpUtility.UrlEncode(returnUrl);
}
return returnUrl;
}
}
I will check it
ok, i'm waiting.
https://u38833538.ct.sendgrid.net
The link is not your application URL, right. I don't know how it happened, Could you share some screenshots or a video?
https://support.abp.io/QA/Questions/7385/404-Error-using-Reset-Password-for-Tenant-users#answer-3a135a61-76ab-4e5c-7873-d204cc4b4364
And here are the steps I tried to reproduce