Как я могу удалить блок текста из корпуса электронной почты на основе критериев? [закрыто]C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу удалить блок текста из корпуса электронной почты на основе критериев? [закрыто]

Сообщение Anonymous »

Есть ли способ удалить блок текста из тела электронной почты, основанный на критериях? Назад находится в одном и том же разделе, а затем все другие данные, касающиеся отскока электронной почты, находится в другом разделе. />someOne@domain.com (comeofo@domain.com) Доставка не авторизована
sometwo@domain.com (somewo@domain.com). Доставка не разрешена
somethree@domain.com (somethree@domain.com) Доставка не авторизована < /p> Информация о диагностике для администраторов:
Сервер. /> bankemail@domain.com Удаленный сервер

Сообщение было отклонено политикой организации
.... (Подробнее)
.... (подробнее)
.... (Подробнее)
x-originatororg: bankdomain.com < /p>
< /blockquote>
Я хочу удалить текст, нанесенный адресом, на расписание. «X-Originatororg: bankdomain.com» и сохранить раздел для списка электронной почты с короткой причиной. Writeline с помощью regex, но она только вернула "System.String []". < /P>
public static void ExtractSenderEmailsToCSV(string filePath)
{
Outlook.Application outlookApp = null;
try
{
outlookApp = new Outlook.Application();
Outlook.NameSpace outlookNamespace = outlookApp.GetNamespace("MAPI");
Outlook.MAPIFolder inbox = outlookNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Outlook.Items items = inbox.Items;

using (StreamWriter writer = new StreamWriter(filePath))
{
writer.WriteLine("Sender Email"); // Write CSV header

foreach (object item in items)
{
if (item is Outlook.ReportItem mailItem)
{
writer.WriteLine($"Subject: {mailItem.Subject}");
string x = mailItem.GetInspector.WordEditor.Content.Text;
string[] arr;

arr = x.Split('\r', '\n', '\r');
foreach (string str in arr)
{
if (!string.IsNullOrEmpty(str))
{
writer.WriteLine(Regex.Replace(str, ".*/\\d+", string.Empty).Trim());
}
}
}
}
}
Console.WriteLine($"Sender email addresses exported to {filePath}");
}
catch (System.Exception ex)
{
Console.WriteLine($"An error occurred: {ex.Message}");
}
finally
{
// Clean up COM objects
if (outlookApp != null)
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(outlookApp);
outlookApp = null;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... n-criteria
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»