Проверка на пощата с Qt програмка
-
Имам няколко пощи на различни места и ми омръзна да влизам да ги проверявам всеки ден и особено ако чакам писмо от някого. Аз съм противник на всякакъв пощенски софтуер, затова си проверявам пощата директно от браузъра.
Идеята ми е дали е възможно с Qt да се напише една малка програмка която да стои като иконка в системния трей и като се щракне върху нея да се свързва с пощенския сървър, да проверява броя на новите писма и да го казва. Или пък периодично да се свързва и да проверява сама (това са вече подробности). Но без да прехвърля писмата - само бройката на непрочетените да казва, а после кой както иска да си ги чете.
Аз съм напълно незапознат с пощенските истории и достъпа до тях.
Ако ми дадете насоки ще напиша програмката и ще публикувам за общо ползване. Или пък ако иска някой друг да я напише, ако въобще е възможно да стане това. -
Здравей,
най-вероятно ще трябва да имплементираш POP3 или IMAP прокола на Qt или поне част от него. Може и да има някъде готов, но не е в самото Qt.
POP3 и IMAP са протоколи за достъп до електронна поща. През тях би било най-лесно да получиш информацията. Може и да направиш някаква система, която да парсва HTML сраниците, но тя ще е доста зависима от пощата, която ползваш и всяка промяна в интефейса на пощата.
Потърси в Google за "qt pop3" виждам, че илизат доста неща, но нямам време вмомента да ги проверя, кое ще ти свърши работа.
-
За работа с е-поща би трябвало да ти помогне "Messaging API":http://doc.qt.nokia.com/qtmobility-1.2/messaging.html, което е част от Qt Mobility. "Този пример":http://doc.qt.nokia.com/qtmobility-1.2/serviceactions.html може да ти е от полза.
[quote author="M_3_T" date="1317978207"]Идеята ми е дали е възможно с Qt да се напише една малка програмка която да стои като иконка в системния трей и като се щракне върху нея да се свързва с пощенския сървър, да проверява броя на новите писма и да го казва. [/quote]
Относно иконата в системния трей виж "този пример":http://doc.qt.nokia.com/latest/desktop-systray.html
-
А аз си мислех, че Message API-то е само за SMS-и :(
Обаче така като чета ми се струва, че API-то предоставя достъп до сървис на OS-a, който съхванява съобщенията и отговаря за изпращането на нови. Това дали се поддържа от десктоп системите? -
[quote author="task_struct" date="1317987148"]А аз си мислех, че Message API-то е само за SMS-и :(
Обаче така като чета ми се струва, че API-то предоставя достъп до сървис на OS-a, който съхванява съобщенията и отговаря за изпращането на нови. Това дали се поддържа от десктоп системите? [/quote]Аз лично съм го ползвам само за пращане на SMS на Symbian, но трябва да става и емайли:
bq. A unified interface for manipulation and storage of SMS, MMS, MIME Email and TNEF Email messages is provided.
Доколкото виждам от "документацията Messaging API-то е напълно готово за Windows и Linux":http://doc.qt.nokia.com/qtmobility-1.2/index.html, така че трябва да свърши работа за този случай :)
-
Благодаря, ще попрочета тия дни и ще видя какво ще измъдря...
А иначе програмки с икона в системния трей съм правил и имам един страничен въпрос. На Windows 7 трей-а е по-различен (Notification Area Icons) и запомня всяка иконка която се появи там. В един момент се пълни с какви ли не икони от програми пускани някога, еднократно и вече не се използват. Намерих един лесен начин за изтриване, но трие всички: "Clear Past Notification Icons In Windows 7":http://www.addictivetips.com/windows-tips/clear-past-notification-icons-in-windows-7/
По-скоро връща стандартните икони. Няма лошо, но няма ли по-елегантен начин с който да се изтрие само дадена икона? Този въпрос не е особено важен за мен, само информативно питам. -
Правя си опити под Windows. Инсталирал съм последното SDK, но в него не намирам dll-и или какво да е за Qt Mobility, а когато го инсталирах навсякъде където имаше нещо свързано с него го чекнах. Да не би защото като го инсталирах махнах чекчето от Symbian? Или нещо не съм наясно как се ползва това Qt Mobility.
Горния пример като пробвам да го компилирам и ми казва че няма двете:
#include <QMessageManager>
#include <QMessageService>А има хелп за тях.
Всъщност в примерната програмка имаше:
#include <qmessagemanager.h>
#include <qmessageservice.h>които замених с горните.
-
Мисля, че ще трябва да си го компилираш от сорс код. Версията в SDK-то е направена да се инсталира на телефона.
-
Според мен няма смисъл да "измисляш наново колелото". Qt Framework както и всички други фреймуорки и библиотеки целят именно намаляването на писането на един и същ код отново и отново. Имам предвид - има достатъчно мейл клиенти които могат да ти свършат същата работа, без да е необходимо да пишеш собствен мейл клиент. И сам забелязваш че правиш нещо парадоксално - заявяваш че не обичаш мейл клиентите, но искаш да напишеш собствен такъв ;-)
Решението все пак си е твое, щом искаш - няма невъзможни неща в програмирането, просто има различни начини за постигането им.
Колегите с повече опит вече са отговорили какво може да се ползва, а относно иконите в трея - няма какво да те притесняват, моята програма си седи изцяло в трея, когато и се зададе да се затвори (Quit), иконката си изчезва нормално, тествано на Windows 7 и XP, Fedora 14 и 15, Ubuntu 10.XX и Arch Linux.