Jak mogę zalogować się na konto Gmail i uzyskać liczbę wiadomości w skrzynce pocztowej z komponentem TIdIMAP4
?Jak zalogować się na konto Gmail i uzyskać liczbę wiadomości w skrzynce pocztowej za pomocą TIdIMAP4?
Odpowiedz
Aby uzyskać całkowitą liczbę wiadomości w skrzynce odbiorczej Gmaila, musisz najpierw połączyć się z serwerem IMAP Gmail za pomocą poświadczeń, wybrać skrzynkę pocztową skrzynki odbiorczej Gmaila i dla wybranej skrzynki pocztowej odczytać wartość właściwości TotalMsgs
.
W kodzie może wygląda następująco (kod ten wymaga OpenSSL, więc nie zapomnij umieścić bibliotek libeay32.dll
i ssleay32.dll
do ścieżki widocznej do projektu, można pobrać biblioteki OpenSSL do Indy w różnych wersjach i platform from here
):
uses
IdIMAP4, IdSSLOpenSSL, IdExplicitTLSClientServerBase;
function GetGmailMessageCount(const UserName, Password: string): Integer;
var
IMAPClient: TIdIMAP4;
OpenSSLHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
Result := 0;
IMAPClient := TIdIMAP4.Create(nil);
try
OpenSSLHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
try
OpenSSLHandler.SSLOptions.Method := sslvSSLv3;
IMAPClient.IOHandler := OpenSSLHandler;
IMAPClient.Host := 'imap.gmail.com';
IMAPClient.Port := 993;
IMAPClient.UseTLS := utUseImplicitTLS;
IMAPClient.Username := UserName;
IMAPClient.Password := Password;
IMAPClient.Connect;
try
if IMAPClient.SelectMailBox('INBOX') then
Result := IMAPClient.MailBox.TotalMsgs;
finally
IMAPClient.Disconnect;
end;
finally
OpenSSLHandler.Free;
end;
finally
IMAPClient.Free;
end;
end;
procedure TForm1.ConnectButtonClick(Sender: TObject);
begin
ShowMessage('Total count of messages in inbox: ' +
IntToStr(GetGmailMessageCount('[email protected]', 'Password')));
end;
można ewentualnie pobrać demo project
który obejmuje OpenSSL v1.0.1c
biblioteki dla i386 platformy dla aplikacji 32-bitowych (sporządzoną w Delphi 2009).
HUuuuuge thanks! :) –
Nie ma za co! – TLama
W jaki sposób można przeglądać pocztę e-mail, aby uzyskać temat lub treść wiadomości "i" w folderze "Skrzynka odbiorcza". To nie działa. IMAPClient.MailBox.MessageList.Messages [i] .Body –
- 1. Wysyłaj wiadomości smtp, w tym html, na konto Gmail
- 2. Jak uzyskać tekst i zmienną w skrzynce wiadomości?
- 3. Jak zalogować się do użytkownika za pomocą Yii i OpenID
- 4. Jak zachować zaznaczenia zaznaczone w skrzynce pocztowej tkinter?
- 5. Jak usunąć największe wiadomości e-mail z mojego konta Gmail za pomocą skryptu Pythona?
- 6. jak zalogować się do tomcata za pomocą slf4j i java.util.logging
- 7. Jak zalogować się za pomocą Ruby i eventmachine?
- 8. Jak zalogować się do witryny za pomocą pythona i zmechanizować
- 9. Wysyłanie wiadomości e-mail na konto Yahoo
- 10. Jak zalogować się jako użytkownik w P4
- 11. Jak uzyskać liczbę linii za pomocą SplFileObject?
- 12. Jak zalogować się w hakach wyłączania za pomocą Log4j2?
- 13. Włącz podświetlanie tekstu wiadomości w skrzynce huśtawka
- 14. Jak zalogować się przy użyciu UTF-8 za pomocą EnterpriseLibrary.Logging
- 15. Jak zalogować się do użytkownika za pomocą programu devise?
- 16. Jak uzyskać liczbę otrzymanych wiadomości w Amazon SQS za pomocą biblioteki boto w Pythonie?
- 17. Jak zalogować się przez Facebooka za pomocą DotNetOpenAuth
- 18. Jak zalogować się automatycznie za pomocą urządzenia po rejestracji?
- 19. Jak zalogować się do Facebooka programowo za pomocą Java?
- 20. Jak zalogować się do witryny za pomocą WebClient?
- 21. Jak uzyskać odpowiedź bez oryginalnej wiadomości z interfejsu Gmail API
- 22. Konto usługi Google konto użytkownika
- 23. Python, IMAP i Gmail. Oznacz wiadomości widzianych
- 24. Wiadomości odszyfrowywania Gmail API w JavaScript
- 25. Zalogować się identyfikator użytkownika
- 26. Śledzenie akcji pobierania wiadomości ze skrzynki pocztowej w Erlang
- 27. Jak zalogować się do Google Apps za pośrednictwem adresu URL?
- 28. imap_search ogranicza liczbę zwracanych wiadomości
- 29. Jak zalogować się za pomocą Facebook w środowisku programistycznym za pomocą django social-auth?
- 30. Jak znaleźć konto Gmail powiązane z Android Market?
Czy to jest pytanie z Gmaila lub imap? –
@DavidHeffernan Indy IMAP. –
OK, więc część gmail nie jest problemem. Przypuszczalnie może to być dowolny serwer imap, który komunikujesz. –