Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Печать файла с почты Яндекса


Автор: Cobalt 23.8.2011, 09:16
Привет всем, на работе возникла проблемка 
на яндекс почту приходят факсы от воип-оператора, всегда с одного и того же ящика, письма одного и того образца, меняются тока названия прикрепленных(день-месяц-время) файлов. 

люди принимают этот факс с трубки далеко от компа с почтой, и становится непонятно, пришел, не пришел и т.п.

т.е. поясняю, человек сидит (их много), на трубке нажимает комбинацию #0, и принимает факс, факс уходит ко мне на почту, а также хранится на сайте voip-оператора, человек приходит и спрашивает, пришел ли факс, я лезу на почту, скачиваю файл, печатаю, и так по кругу 

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

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

прошу совета, насколько трудно и объёмно будет написать такое приложение новичку.
и получится ли оно вообще smile 

Автор: jonie 23.8.2011, 09:53
Cobalt, нетрудно если уметь. Если не умеете - заказывайте у фрилансеров.

Автор: Cobalt 23.8.2011, 10:10
Цитата(jonie @  23.8.2011,  10:53 Найти цитируемый пост)
Если не умеете - заказывайте у фрилансеров. 

ну бабки тратить на это конечно директор не захочет

просто интересует получится ли работать с яндекс почтой, мониторить входящие, получать доступ и пр

Автор: Cobalt 23.8.2011, 10:31
может будут еще какие другие предложения

Автор: jonie 23.8.2011, 12:09
Да получится, яндекс поддерживает IMAP например - берете и используете этот протокол для работы с входящей почтой (ну или POP3 - он попроще, конечно...)...
Писать за вас тут никто ничего не будет.

Автор: Cobalt 23.8.2011, 12:27
Цитата(jonie @  23.8.2011,  13:09 Найти цитируемый пост)
Писать за вас тут никто ничего не будет. 

эт к чему вообще было сказано  smile 

я просил где то писать за меня?

Автор: Cobalt 23.8.2011, 13:34
вообщем, путь который щаз видится, на почте яши я настраиваю фишку чтобы все сообщения с этого адреса падали в папку факсы, потом видел "Настройка работы с Яндекс.Почтой по протоколу POP3", и там можно выбрать папку, насколько понимаю терь нужен почтовый клиент, который будет получать новые сообщения с папки факсы и только с нее, получать вложения,ну а далее дело техники

мысли верные ?

Автор: Cobalt 25.8.2011, 12:28
короче для потомков, полазив пару дней по Яше и англоязычному гуглу, выяснил что встроенной классов POP в шарпе нет, и существует не так много самописных классов для работы с ним, вот например кто-то что-то делал http://nansoft.ru/blog/2.html

далее я поискал готовые решения, оказывается они существуют, но платные

Код

Надстройка Print Tools for Outlook поможет автоматически распечатать 
входящие и исходящие письма с вложениями (а также отдельно – письма и 
отдельно – вложения), даже не открывая их.

http://soft.softline.ru/mapilab/print-tools-for-outlook/

есть еще такая буржуйская прога работающая самостоятельно (100 баксов простая версия) http://www.mail-print.com/
которая так и не увидела ни один принтер кроме стандартных винды.

найден был даже какой то код для аутлука
Код

Private WithEvents Items As Outlook.Items

Private Sub Application_Startup()
  Set Items = GetItems(GetNS(GetOutlookApp), olFolderInbox)
End Sub

Private Sub Items_ItemAdd(ByVal item As Object)

  On Error GoTo ErrorHandler

  Dim Msg As Outlook.MailItem
  Dim destfldr As Outlook.MAPIFolder

  If Not IsMail(item) Then GoTo ProgramExit

  Set Msg = item

  Msg.PrintOut

ProgramExit:
  Exit Sub
ErrorHandler:
  MsgBox Err.number & " - " & Err.Description
  Resume ProgramExit
End Sub

Function IsMail(itm As Object) As Boolean
  IsMail = (TypeName(itm) = "MailItem")
End Function

Function GetItems(olNS As Outlook.NameSpace, _
    folder As OlDefaultFolders) As Outlook.Items
  Set GetItems = olNS.GetDefaultFolder(folder).Items
End Function

Function GetOutlookApp() As Outlook.Application
' returns reference to native Application object
 Set GetOutlookApp = Outlook.Application
End Function

Function GetNS(ByRef app As Outlook.Application) As Outlook.NameSpace
  Set GetNS = app.GetNamespace("MAPI")
End Function


а также еще какие то проги
http://www.namtuk.com/autoprintemail.aspx
http://www.sperrysoftware.com/outlook/auto-print.asp
-----------------------------------------------------------------------
и под конец я нашел отличную вещь, она бесплатная

http://mail-attachment-downloader.software.informer.com/
и сайт проги
http://gearmage.com/maildownloader.html

загружает вложения с писем, можно выставить нужного формата, опробовал, тиффы качает отлично, проверка по расписанию, настраиваешь как хошь, и остальных настроек вполне хватает

теперь осталось отправлять как-нибудь новые скачанные файлы на печать




Автор: VirusUZ 25.8.2011, 15:39
using System.Net. ... Mail;

Автор: dextermd 25.8.2011, 16:58
Цитата

короче для потомков, полазив пару дней по Яше и англоязычному гуглу, выяснил что встроенной классов POP в шарпе нет

Для работы с протоколом POP3 нужно использовать класс System.Net.Sockets.TcpClient

Автор: Cobalt 25.8.2011, 17:14


Цитата(dextermd @  25.8.2011,  17:58 Найти цитируемый пост)
Для работы с протоколом POP3 нужно использовать класс System.Net.Sockets.TcpClient

это я понял, но как оказалось лучше обойтись без собственных велосипедов


Цитата(VirusUZ @  25.8.2011,  16:39 Найти цитируемый пост)
using System.Net. ... Mail;

 smile 

Автор: jonie 26.8.2011, 12:38
Цитата(Cobalt @  25.8.2011,  13:28 Найти цитируемый пост)
выяснил что встроенной классов POP в шарпе нет,

"Внезапно!". В C# вообще классов нет. Это язык. А вот в .NET Framework классы для работы с pop3 имеются.

Автор: Cobalt 29.8.2011, 15:51
Цитата(jonie @  26.8.2011,  13:38 Найти цитируемый пост)
В C# вообще классов нет. Это язык. А вот в .NET Framework классы для работы с pop3 имеются. 

каюсь, не знаток и не кодер smile  просто что я читал - так там писали что работать с smtp - пожалста, а вот с приемом почты бяда

решил пока пользоваться vbs, скрипт для тихой печати картинок почти собрал, но не факт, возможно вернусь к шарпу

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)