Создана отправка электронной почты C# в серверном приложении Blazor. Перед использованием CKEditor 5 для тела электронного письма. При плавной проверке (OnValidSubmit) все работает нормально, но после использования CKEditor 5 для тела электронного письма после ввода данных поле тела отображается пустым. >
Введены данные в поле «Тело» CKEditor 5. При проверке тело отображается пустым, но без проверки тела оно работает, я ожидаю, что оно будет работать при проверке
EmailRequest EmailRequest { get; set; } = new();
private string? FileUploadError { get; set; }
private string? EmailSendResult { get; set; }
private string? EmailResultClass { get; set; } // Bootstrap class for success/error styling
async Task SendEmail()
{
// Fetch CKEditor content and assign it to the EmailRequest.Body
EmailRequest.Body = await JSRuntime.InvokeAsync("getEditorContent", "editor");
// Now run the validation or proceed with sending the email
if (string.IsNullOrWhiteSpace(EmailRequest.Body))
{
EmailSendResult = "The email body cannot be empty.";
EmailResultClass = "alert-danger";
return; // Prevent email from being sent if the body is empty
}
try
{
var email = new MimeMessage();
// Set the From address
email.From.Add(MailboxAddress.Parse("EmailID"));
if (!string.IsNullOrWhiteSpace(EmailRequest.To))
{
foreach (var toAddress in EmailRequest.To.Split(',', StringSplitOptions.RemoveEmptyEntries))
{
email.To.Add(MailboxAddress.Parse(toAddress.Trim()));
}
}
// Set the Subject
email.Subject = EmailRequest.Subject ?? "No Subject";
// Create the body of the email
var bodyBuilder = new BodyBuilder
{
HtmlBody = EmailRequest.Body
};
email.Body = bodyBuilder.ToMessageBody();
// Send the email
using var smtp = new SmtpClient();
smtp.Connect("smtp.gmail.com", 587, MailKit.Security.SecureSocketOptions.StartTls);
smtp.Authenticate("emailID", "Password");
smtp.Send(email);
smtp.Disconnect(true);
// Show success message
EmailSendResult = "Email sent successfully!";
EmailResultClass = "alert-success";
}
catch (Exception ex)
{
// Show error message if something goes wrong
EmailSendResult = $"Failed to send email: {ex.Message}";
EmailResultClass = "alert-danger";
}
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
// Initialize CKEditor with the id of the textarea
await JSRuntime.InvokeVoidAsync("initializeCKEditor", "editor");
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... submit-ema
При отправке электронной почты C # - использование CKEditor 5 для тела электронной почты, OnValidSubmit Тело электронной ⇐ C#
Место общения программистов C#
1726573672
Anonymous
Создана отправка электронной почты C# в серверном приложении Blazor. Перед использованием CKEditor 5 для тела электронного письма. При плавной проверке (OnValidSubmit) все работает нормально, но после использования CKEditor 5 для тела электронного письма после ввода данных поле тела отображается пустым. >
Введены данные в поле «Тело» CKEditor 5. При проверке тело отображается пустым, но без проверки тела оно работает, я ожидаю, что оно будет работать при проверке
EmailRequest EmailRequest { get; set; } = new();
private string? FileUploadError { get; set; }
private string? EmailSendResult { get; set; }
private string? EmailResultClass { get; set; } // Bootstrap class for success/error styling
async Task SendEmail()
{
// Fetch CKEditor content and assign it to the EmailRequest.Body
EmailRequest.Body = await JSRuntime.InvokeAsync("getEditorContent", "editor");
// Now run the validation or proceed with sending the email
if (string.IsNullOrWhiteSpace(EmailRequest.Body))
{
EmailSendResult = "The email body cannot be empty.";
EmailResultClass = "alert-danger";
return; // Prevent email from being sent if the body is empty
}
try
{
var email = new MimeMessage();
// Set the From address
email.From.Add(MailboxAddress.Parse("EmailID"));
if (!string.IsNullOrWhiteSpace(EmailRequest.To))
{
foreach (var toAddress in EmailRequest.To.Split(',', StringSplitOptions.RemoveEmptyEntries))
{
email.To.Add(MailboxAddress.Parse(toAddress.Trim()));
}
}
// Set the Subject
email.Subject = EmailRequest.Subject ?? "No Subject";
// Create the body of the email
var bodyBuilder = new BodyBuilder
{
HtmlBody = EmailRequest.Body
};
email.Body = bodyBuilder.ToMessageBody();
// Send the email
using var smtp = new SmtpClient();
smtp.Connect("smtp.gmail.com", 587, MailKit.Security.SecureSocketOptions.StartTls);
smtp.Authenticate("emailID", "Password");
smtp.Send(email);
smtp.Disconnect(true);
// Show success message
EmailSendResult = "Email sent successfully!";
EmailResultClass = "alert-success";
}
catch (Exception ex)
{
// Show error message if something goes wrong
EmailSendResult = $"Failed to send email: {ex.Message}";
EmailResultClass = "alert-danger";
}
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
// Initialize CKEditor with the id of the textarea
await JSRuntime.InvokeVoidAsync("initializeCKEditor", "editor");
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78993722/in-c-sharp-email-sending-using-ckeditor-5-for-body-of-email-onvalidsubmit-ema[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия