Форум » GUI » Получения почты с аттачами из Harbour & HWGui программы » Ответить

Получения почты с аттачами из Harbour & HWGui программы

Мирослав: Есть ли какая-либо библиотека, содержащая функции для получения электронной почты из программы Harbour & HWGui? Я хотел бы написать программу, которая могла бы, помимо прочего, получать электронную почту с вложениями (аттачами). Я посмотрел несколько примеров в MiniGui, попробовал что-то сделать (переключиться на HWGui), но ничего не смог сделать Привет из Сербии!

Ответов - 7

Dima: Мирослав Покури эту тему

alkresin: Здесь, на форуме, есть материалы на эту тему, см., в частности, ссылку выше. Можно использовать hbtip из harbour/contrib. Я использовал curl - просто запускал его из программы, хотя можно вызывать его функции, используя hbcurl. Вложения, правда, я не читал, но наверняка можно получить их, расшифровав тело письма. Учтите, что последние годы стало сложнее получать почту с помощью своих программ - почтовые сервисы требуют специальных настроек аккаунта.

Dima: alkresin пишет: Учтите, что последние годы стало сложнее получать почту с помощью своих программ - почтовые сервисы требуют специальных настроек аккаунта. 100 %


ZAlex: Чтобы не заморачиваться с библиотеками, для отправки почты с вложениями использовал CMail Command Line Mailer (https://www.inveigle.net/cmail).

alkresin: ZAlex пишет: для отправки почты с вложениями использовал Мирославу нужно получение.

Мирослав: Я ничего не смог сделать, у меня просто не хватает знаний, чтобы это сделать. Я отказываюсь от решения этой проблемы... Благодарю всех за помощь.

alkresin: Не надо сдаваться). Вот простейший пример: #include "hwgui.ch" STATIC cUser := "mylogin", cPass := "mypassword" Function Test Local oDlg, oFont := HFont():Add( "MS Sans Serif",0,-13 ), oEdit, oMenu INIT DIALOG oDlg TITLE "Mail" ; AT 210,10 SIZE 400,250 ; FONT oFont NOEXIT MENU OF oDlg MENU TITLE "&Mail" MENUITEM "&Get list" ACTION _Getlist( oEdit ) MENUITEM "&Get header" ACTION _GetMess( oEdit, .F. ) MENUITEM "&Get message" ACTION _GetMess( oEdit, .T. ) SEPARATOR MENUITEM "E&xit" ACTION oDlg:Close() ENDMENU ENDMENU @ 0, 0 HCEDIT oEdit SIZE 400, 250 ON SIZE {|o,x,y|o:Move( ,, x, y ) } IF hwg__isUnicode() oEdit:lUtf8 := .T. ENDIF ACTIVATE DIALOG oDlg oFont:Release() Return Nil FUNCTION _Getlist( oEdit ) LOCAL cBuff := "url = pop3s://pop.yandex.ru" + Chr(10) + 'request = "LIST"' + Chr(10) + ; "user = " + cUser + ":" + cPass + Chr(10) + "stderr = err.out" hb_Memowrit( "curl.cc", cBuff ) hwg_RunConsoleApp( "curl -K curl.cc",, @cBuff ) oEdit:SetText( cBuff ) RETURN Nil FUNCTION _GetMess( oEdit, lBody ) LOCAL cBuff := "url = pop3s://pop.yandex.ru" + Chr(10) + ; "user = " + cUser + ":" + cPass + Chr(10) + "stderr = err.out" + Chr(10) LOCAL cNum := hwg_MsgGet( "Message", "Input message number:" ), nNum := Val( cNum ) IF nNum == 0 RETURN Nil ENDIF cBuff += 'request = ' + Iif( lBody, '"RETR ' + Ltrim(Str(nNum)) + '"', ; '"TOP ' + Ltrim(Str(nNum)) + ' 0"' ) + Chr(10) hb_Memowrit( "curl.cc", cBuff ) hwg_RunConsoleApp( "curl -K curl.cc",, @cBuff ) oEdit:SetText( cBuff ) RETURN Nil Это чтение почты с помощью curl как утилиты командной строки - надо его скачать и установить куда-нибудь в PATH. В программе прописать свой адрес почтового сервера, логин и пароль. Потом, конечно, надо еще извлечь нужные строки из сообщения и, возможно, перекодировать.



полная версия страницы