Там методы Платформы.NET должны проанализировать электронное письмо (MIME)?

Поскольку кто-то еще сказал, 'что платформа'. В Windows I использовали, 'блеют', который является бесплатной почтовой программой SMTP командной строки, чтобы сделать это, наряду с постфиксацией и другим пакетным файлом.

фиксация сообщения похожа на это: (Просто вызовы другой пакетный файл)

 call d:\subversion\repos\rts\hooks\mail %1 %2

И mail.bat был похож на это:

copy d:\subversion\repos\RTS\hooks\Commitmsg.txt %temp%\commit.txt
copy d:\subversion\repos\RTS\hooks\subjbase.txt %temp%\subject.txt
svnlook info -r %2 %1 >> %temp%\commit.txt
echo Revision %2 >> %temp%\commit.txt
svnlook changed -r %2 %1 >> %temp%\commit.txt
svnlook author -r %2 %1 >> %temp%\subject.txt
c:\utils\blat %temp%\commit.txt -t <me@my.email.com> -sf %temp%\subject.txt -server ServerName -f "SVN Admin <svn@my.email.com>" -noh2

самый большой глюк в письменной форме, который сцепляет SVN, - то, что у Вас не могло бы быть в основном установки среды - никакой путь exe, никакой временный путь, и т.д. Хотя, возможно, это улучшено в более свежих сборках SVN.

21
задан Neil C. Obremski 3 November 2009 в 19:59
поделиться

5 ответов

Я знаю, что вы сказали, что внешних библиотек нет, но у меня есть библиотека, размещенная на codeplex:

https://bitbucket.org/otac0n/mailutilities

MimeMessage msg = new MimeMessage(/* string, stream, or Byte[] */);

Она была протестирована с более чем 40 000 реальных почтовых сообщений.

Я не слишком доволен своим выбором пространства имен, но ... мне лень его менять.


PS:

Внутренне моя библиотека использует эти регулярные выражения как парсер:

internal static string FullMessageMatch =
    @"\A(?<header>(?:[^\r\n]+\r\n)*)(?<header_term>\r\n)(?<body>.*)\z";
internal static string HeadersMatch =
    @"^(?<header_key>[-A-Za-z0-9]+)(?<seperator>:[ \t]*)(?<header_value>([^\r\n]|\r\n[ \t]+)*)(?<terminator>\r\n)";
internal static string HeaderSeperator =
    "\r\n";
internal static string KeyValueSeparator =
    @"\A:[ \t]*\z";
24
ответ дан 29 November 2019 в 20:25
поделиться

Ознакомьтесь с Почтовый компонент Mail.dll .NET , он имеет встроенную поддержку MIME , юникод и поддержку электронной почты в разных странах:

MailBuilder builder = new MailBuilder();

// Here you get the message class with attachments, visuals
IMail message = builder.CreateFromEml(File.ReadAllText("test.eml"));

// you can access entire MIME document:
MimeDocument document = message.Document;

Обратите внимание, что Mail.dll - это коммерческий продукт, который я создал.

Вы можете скачать его здесь: https://www.limilabs.com/mail .

0
ответ дан 29 November 2019 в 20:25
поделиться

Нет, пока нет возможности сделать это. Microsoft не создала преобразователь текста в сообщение, так же как не создала библиотеку POP3 или IMAP. К сожалению.

3
ответ дан 29 November 2019 в 20:25
поделиться

Я рекомендую библиотеки синтаксического анализа IMAP и MIME от Lumisoft. Который я использовал раньше, и с ним легко работать. Вы можете скачать его отсюда: http://www.lumisoft.ee/lsWWW/Download/Downloads/Net/ В lib есть много других протоколов, таких как ftp, pop3 и т.д., и я уверен, что sc доступен. Попробуйте погуглить, также вы можете найти его на codeproject.com с уважением

2
ответ дан 29 November 2019 в 20:25
поделиться

посмотрите нашу Rebex Secure Mail , которая включает (IMHO) достойный парсер S / MIME. Функции включают:

0
ответ дан 29 November 2019 в 20:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: