Автор | Сообщение |
|
| |
Пост N: 12
Зарегистрирован: 27.08.23
|
|
Отправлено: 16.12.23 23:03. Заголовок: Получения почты с аттачами из Harbour & HWGui программы
Есть ли какая-либо библиотека, содержащая функции для получения электронной почты из программы Harbour & HWGui? Я хотел бы написать программу, которая могла бы, помимо прочего, получать электронную почту с вложениями (аттачами). Я посмотрел несколько примеров в MiniGui, попробовал что-то сделать (переключиться на HWGui), но ничего не смог сделать Привет из Сербии!
|
|
|
Ответов - 7
[только новые]
|
|
|
| |
Пост N: 7911
Зарегистрирован: 17.05.05
|
|
Отправлено: 17.12.23 19:30. Заголовок: Мирослав Покури эту..
|
|
|
|
| moderator
|
Пост N: 1559
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.12.23 09:13. Заголовок: Здесь, на форуме, ес..
Здесь, на форуме, есть материалы на эту тему, см., в частности, ссылку выше. Можно использовать hbtip из harbour/contrib. Я использовал curl - просто запускал его из программы, хотя можно вызывать его функции, используя hbcurl. Вложения, правда, я не читал, но наверняка можно получить их, расшифровав тело письма. Учтите, что последние годы стало сложнее получать почту с помощью своих программ - почтовые сервисы требуют специальных настроек аккаунта.
|
|
|
|
| |
Пост N: 7912
Зарегистрирован: 17.05.05
|
|
Отправлено: 18.12.23 15:28. Заголовок: alkresin пишет: Учт..
alkresin пишет: цитата: | Учтите, что последние годы стало сложнее получать почту с помощью своих программ - почтовые сервисы требуют специальных настроек аккаунта. |
| 100 %
|
|
|
|
| |
Пост N: 48
Зарегистрирован: 22.01.14
|
|
Отправлено: 18.12.23 16:55. Заголовок: CMail
Чтобы не заморачиваться с библиотеками, для отправки почты с вложениями использовал CMail Command Line Mailer (https://www.inveigle.net/cmail).
|
|
|
|
| moderator
|
Пост N: 1560
Зарегистрирован: 06.07.06
|
|
Отправлено: 18.12.23 17:04. Заголовок: ZAlex пишет: для от..
ZAlex пишет: цитата: | для отправки почты с вложениями использовал |
| Мирославу нужно получение.
|
|
|
|
| |
Пост N: 13
Зарегистрирован: 27.08.23
|
|
Отправлено: 19.12.23 12:05. Заголовок: Я ничего не смог сде..
Я ничего не смог сделать, у меня просто не хватает знаний, чтобы это сделать. Я отказываюсь от решения этой проблемы... Благодарю всех за помощь.
|
|
|
|
| moderator
|
Пост N: 1561
Зарегистрирован: 06.07.06
|
|
Отправлено: 19.12.23 13:58. Заголовок: Не надо сдаваться). ..
Не надо сдаваться). Вот простейший пример: Скрытый текст #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. В программе прописать свой адрес почтового сервера, логин и пароль. Потом, конечно, надо еще извлечь нужные строки из сообщения и, возможно, перекодировать.
|
|
|
|