Skip to main content

Disabling emails in Debug Mode Aspnetzero

I had this issue and just assumed the code was there for looks but didnt actually work (Meaning the only thing it did was show "test email sent" but no backend code did anything)

After maliming's comment I realized it wasnt just me.

I started checking what the log said as he mentioned and log mentioned:

INFO  [35   ] pNetCore.Cors.Infrastructure.CorsService - CORS policy execution successful.       
INFO  [35   ] uthentication.JwtBearer.JwtBearerHandler - Successfully validated the token.
INFO  [35   ] ft.AspNetCore.Routing.EndpointMiddleware - Executing endpoint 'companyName.Configuration.Host.HostSettingsAppService.SendTestEmail (companyName.Application)'
INFO  [35   ] c.Infrastructure.ControllerActionInvoker - Route matched with {area = "app", action = "SendTestEmail", controller = "HostSettings"}. Executing controller action with signature System.Threading.Tasks.Task SendTestEmail(companyName.Configuration.Host.Dto.SendTestEmailInput) on controller companyName.Configuration.Host.HostSettingsAppService (companyName.Application).
WARN  [35   ] Abp.Net.Mail.NullEmailSender             - USING NullEmailSender!
DEBUG [35   ] Abp.Net.Mail.NullEmailSender             - SendEmailAsync:
DEBUG [35   ] Abp.Net.Mail.NullEmailSender             - admin@aspnetzero.com
DEBUG [35   ] Abp.Net.Mail.NullEmailSender             - 
DEBUG [35   ] Abp.Net.Mail.NullEmailSender             - companyName test email
DEBUG [35   ] Abp.Net.Mail.NullEmailSender             - This is a test email.
INFO  [32   ] .Mvc.Infrastructure.ObjectResultExecutor - Executing ObjectResult, writing value of type 'Abp.Web.Models.AjaxResponse'.
INFO  [32   ] c.Infrastructure.ControllerActionInvoker - Executed action companyName.Configuration.Host.HostSettingsAppService.SendTestEmail (companyName.Application) in 27.1706ms
INFO  [32   ] ft.AspNetCore.Routing.EndpointMiddleware - Executed endpoint 'companyName.Configuration.Host.HostSettingsAppService.SendTestEmail (companyName.Application)'
INFO  [32   ] Microsoft.AspNetCore.Hosting.Diagnostics - Request finished in 51.2509ms 200 application/json; charset=utf-8

"USING NullEmailSender!" caught my eye and when I went searching the source, I came across this that solved my issue:

if (DebugHelper.IsDebug)
    {
        //Disabling email sending in debug mode
        Configuration.ReplaceService<IEmailSender, NullEmailSender>(DependencyLifeStyle.Transient);
    }

Edit: One additional intersting thing I noticed - You have to Save All in order to get the credentials to update, so after you input your SMTP credentials, Save All, THEN send test email - otherwise it tries to use the 127.0.0.0 credentials it originally has

Comments

Popular posts from this blog

File Upload : The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine

TITLE: SQL Server Import and Export Wizard ------------------------------ The operation could not be completed. ------------------------------ ADDITIONAL INFORMATION: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data) ------------------------------ BUTTONS: OK ------------------------------ Solution: Install Microsoft Access Database Engine 2016 Redistributable https://www.microsoft.com/en-us/download/details.aspx?id=54920

Import/Export Websites from IIS

  In order to perform this action, there are a few steps to take.  App pools are separate from the site, so first we will need to save off the app pools and bring that over to our other server and load it in. To export app pools, please run the following from an elevated command prompt: %windir%\system32\inetsrv\appcmd list apppool /config /xml > c:\apppools.xml It will look like this, with the file generated where you want to specify it. Next, you'll want to export your entire default web site, so we can get each individual realm configuration.  We do this by another command of similar fashion. Please run this command on the same elevated prompt: %windir%\system32\inetsrv\appcmd list site /config /xml > c:\sites.xml It will look something like this, with again, the file where you specify it. Once you have exported your configuration, it is time to move these two xml files over to your other server, and run these two commands to load in these app pools and defa...