Верижни магазини - КЛЮЧ - Преглед на тема - Гнезда и Delphi
Върколак "07-12-2004 01:19
Опитайте да използвате компонента TNMPOP3:
Компонентът TNMPOP3 се използва за получаване на имейли от POP3 сървър.
Този компонент може да ви е необходим, когато пишете програма за някакво корпоративно приложение, което използва собствени вътрешни пощенски услуги. Или можете да напишете програма за вашите собствени нужди, която да събира поща от няколко пощенски сървъра, веднага да я сортира и да изхвърля ненужните боклуци и т.н.
За да получите поща, трябва да се обадите на метода GetMailMessage. Полученото съобщение ще попадне в свойството MailMessage.
Това беше кратък преглед на компонента. Сега ще обсъдим подробностите, когато се запознаем със свойствата, методите и събитията на този компонент.
За да се регистрирате на сървъра, трябва да зададете стойности за свойствата UserID и Password. Свойството Password задава паролата, използвана за получаване на достъп до пощенския сървър. Ако е посочена неправилна парола или потребителско име, тогава ще бъде издигнато събитието OnAuthenticationFailed, ако паролата или потребителското име не са посочени, ще бъде извикано събитието OnAuthenticationNeeded.
Сега нека обсъдим методите на този компонент. Методът UniqueID връща по номер идентификатора на съобщението, посочено в параметъра на метода. Идентификаторът е уникална низова стойност, присвоена на всяко съобщение от пощенския сървър. Тази стойност се съхранява в свойството MessageID, което е част от съставното свойство Summary от тип TSummary. Параметърът MailNumber варира от 1 до максималната стойност, посочена от свойството MailCount.
Методът DeleteMailMessage премахва посоченото съобщение от пощенската кутия на пощенския сървър. Ако възникне грешка, се повдига събитието OnFailture и се повдига изключение. Ако съобщението е успешно маркирано като изтрито, се случва събитието OnSuccess. Съобщенията, изтрити по този метод, се маркират само като изтрити, в действителност те се изтриват, когато приключите работата с пощенския сървър. Докато не направите това, можете да извикате метода за нулиране и всички "изтрити" съобщения в тази комуникационна сесия ще станат отново достъпни. Методът GetMailMessage извлича съобщението, посочено от неговия номер, и го поставя в свойството MailMessage. Ако възникне грешка при изпълнението на метода, се появява изключение. Когато започне процесът на зареждане на съобщението, се случва събитието OnRetrieveStart. Когато изтеглянето приключи, се генерира събитието OnRetrieveEnd. Ако съобщението е получено успешно, се случва събитието OnSuccess. Ако свойството DeleteOnRead е зададено на true, методът GetMailMessage също ще маркира полученото съобщение на сървъра за изтриване.