- use https://github.com/maildev/maildev
- NodeJS required
- to install:
npm install -g maildev
- start:
maildev --outgoing-secure --outgoing-user lajt --outgoing-pass lajt
- ignore ssl check, only for dev environment! never in production.
in your blazor server app add inside
public void ConfigureServices(IServiceCollection services)
:
if (_env.IsDevelopment())
{
ServicePointManager
.ServerCertificateValidationCallback +=
(sender, cert, chain, sslPolicyErrors) => true;
}
example settings file in appsettings.Development.json
:
"MailSettings": {
"Username": "lajt",
"Password": "lajt",
"FromEmail": "[email protected]",
"Host": "localhost",
"Port": 1025
},
example method to send mail:
public async Task SendEmailAsync(string toEmail, string subject, string htmlBody)
{
var message = new MailMessage();
var client = new SmtpClient();
message.From = new MailAddress(_mailSettings.FromEmail);
message.To.Add(new MailAddress(toEmail));
message.Subject = subject;
message.IsBodyHtml = true;
message.Body = htmlBody;
client.Host = _mailSettings.Host;
client.Port = _mailSettings.Port;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(_mailSettings.Username, _mailSettings.Password);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
await client.SendMailAsync(message);
}
- navigate to
http://localhost:1080/
, all mails during development will be there