Парсинг письма

talja
Дата: 04.04.2014 02:15:25
Доброго времени суток, уважаемые!
Ищу хоть какие-нибудь зацепки по проблеме. Может, ошибочка с веткой форума, ну, прошу просить.
Ситуация такая: есть форма, с пом. которой пользователь прикрепляет pdf-файл и отправляет через smtp- сервер. Письмо доставляется некому linux- серверу, который должен выполнить парсинг письма. Но парсинг он не выполняет.
Причем если этот же файл отправить через outlook, все норм. Если из формы отправить письмо на ящик-клиент outlook, а не linux-серверу, тоже все норм.
Но этому linux-серверу письмо не нравится.
В связи в чем вопрос, может знает кто, в чем разница между отправкой письма с использованием клиента outlook и отправкой письма с сервера напрямую. Поиски в инете ни в чему не привели, наверное, потому что не понимаю даже, что искать-то? Дайте наводку, плз.
Спец, который linux сопровождает прислал мне пример файла, который парсит его сервер. Файл просмтривается блокнотом и содержит инфу типа :
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
это маленький фрагмент.
Каким образом он получил письмо, добиться от него не могу. и чтоб он прислал мне пример письма, которое его сервер разобрать не может, чтоб сравнить, тоже не могу..."у него не осталось средств для выгрузки сообщений в таком виде". а то, что он прислал осталось не пойми в каких времен. Сложно в общем....
Как просмотреть почтовое письмо, не используя outlook? B инете люди выкладывают фрагменты писем в подобнои виде, но как он их получили-то?

Спасибо.
фиганыч
Дата: 04.04.2014 07:55:10
talja,

Как вариант - отправьте одно и тоде письмо из обоих источников на один почтовый ящик и сравните, возможно дело в кодировке, возможно в формате.
В outlook выделяете письмо и жмёте сохранить как - выберите формат mht, потом far сравнивайте.
talja
Дата: 04.04.2014 08:21:31
Спасибо, но это немного не то.
Я тут обчиталась уже всякого....
Насколько поняла, мне нужно сравнить дампы писем. Но как их получить?
фиганыч
Дата: 04.04.2014 08:32:44
talja
Спасибо, но это немного не то.
Я тут обчиталась уже всякого....
Насколько поняла, мне нужно сравнить дампы писем. Но как их получить?


всё то, не читайте всякое ...

Это и есть дамп письма - если получать его программными средствами (ну точно также как делает ваш линукс-сервер) вы получите тоже самое.

В файлых сравните в первую очередь секции "Content-Type:" и "Content-Transfer-Encoding:"
carrotik
Дата: 04.04.2014 11:27:37
talja,

... если у вас отправка из формы происходит с помощью .NET SmtpClient, то можно копию письма сохранять в указанной папке, например, как у меня это делается (это VB.NET, на C# аналогично)

objSmtp.DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory
            Dim sDirectory As String = "g:\webmail\files\" & strEmail
            If Not Directory.Exists(sDirectory) Then
                Directory.CreateDirectory(sDirectory)
            End If
            objSmtp.PickupDirectoryLocation = sDirectory
            objSmtp.Send(objMsg)


...а потом просто посмотреть этот файл в блокноте ... Это и будет то письмо, которое обрабатывается почтовыми серверами ... Там может быть проблема с транспортной кодировкой, поскольку SmtpClient отправляет тему и заголовки в base64, а не quotedPrintable ...
talja
Дата: 04.04.2014 15:24:49
carrotik,

Спасибо, попробую