Я пытаюсь внедрить отправителя электронной почты в моем приложении Blazor на стороне сервера. Я следую этому примеру:
https://kenhaggerty.com/articles/article/aspnet-core-22-smtp-emailsender-implementation
У меня есть представление Home.cs html
@page "/Home"
@model UserManagement.HomeModel
@{
ViewData["Title"] = "Home";
}
<div class="row">
<div class="col-6">
<label class="alert alert-success">@Model.EmailStatusMessage</label>
</div>
</div>
<div class="row">
<div class="col-6">
<form method="post">
<div class="form-group">
<label asp-for="Email"></label>
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
<button type="submit" class="btn btn-primary">Email Test</button>
</form>
</div>
</div>
И Home.cs html .cs
public class HomeModel : PageModel
{
private readonly IEmailSender _emailSender;
public HomeModel(IEmailSender emailSender)
{
_emailSender = emailSender;
}
public string EmailStatusMessage { get; set; }
[Required]
[BindProperty]
public string Email { get; set; }
public void OnGet()
{
}
public async Task OnPostAsync()
{
if (!ModelState.IsValid)
{
}
var email = Email;
var subject = "Email Test";
var message = "This is a test message.";
await _emailSender.SendEmailAsync(email, subject, message);
EmailStatusMessage = "Send test email was successful.";
}
}
}
Когда я нажимаю кнопку, я получаю ошибку 400, и отладчик никогда не останавливается на моей точке останова, которая у меня есть установить в методе OnPostAsyn c. Я немного запутался, почему этого никогда не происходит.
Можете ли вы разгадать эту тайну?