Come posso accedere a un account Gmail e ottenere il numero di messaggi nella cassetta postale con il componente TIdIMAP4
?Come accedere a un account Gmail e ottenere il numero di messaggi in una casella di posta con TIdIMAP4?
risposta
Per ottenere il numero totale di messaggi nella posta in arrivo di Gmail, è necessario prima connettersi al server IMAP di Gmail con le credenziali, selezionare la casella di posta in arrivo di Gmail e per quella casella selezionata leggere il valore della proprietà TotalMsgs
.
Nel codice può assomiglia segue (questo codice richiede OpenSSL, quindi non dimenticate di mettere le librerie libeay32.dll
e ssleay32.dll
ad un percorso visibile al progetto, è possibile scaricare le librerie OpenSSL per Indy in diverse versioni e piattaforme 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;
Si può opzionalmente scaricare un demo project
che include OpenSSL v1.0.1c
librerie per la piattaforma i386 per le applicazioni a 32 bit (compilato in Delphi 2009).
Grazie Huuuuuge! :) –
Prego! – TLama
Come si può scorrere tra le e-mail per ottenere oggetto o corpo di "i" e-mail nella cartella "posta in arrivo". Questo non sembra funzionare .. IMAPClient.MailBox.MessageList.Messages [i] .Body –
- 1. noname nella mia casella di posta Gmail
- 2. lua invia posta con account gmail
- 3. Accedere ai messaggi di posta elettronica usando imap
- 4. Download di posta inviata da Yahoo, Gmail e Hotmail
- 5. Creazione di messaggi (ovvero bozze) in Gmail con IMAP/SMTP?
- 6. Come ottenere il numero di elementi in una casella combinata?
- 7. Come ottenere l'elenco delle cartelle disponibili in un account di posta utilizzando JavaMail
- 8. PHP imap_search che non rileva tutti i messaggi nella posta in arrivo di Gmail
- 9. Ottenere il numero di messaggi in una coda RabbitMQ
- 10. Invio di comandi POP3 a Gmail restituisce i vecchi messaggi
- 11. SQL Server sp_send_dbmail - Come inviare posta a Gmail?
- 12. Impostazione account di posta elettronica EC2
- 13. Messaggi di decodifica dell'API Gmail in Javascript
- 14. Messaggi di posta elettronica a volte ottenere strapazzate
- 15. ottenere l'elenco di posta casella di controllo in vista Django
- 16. Ottieni tutti i messaggi di posta in arrivo con API Gmail utilizzando PHP
- 17. Come posso collegare una casella di posta TChan a un thread e ricevere/inviare messaggi usando i socket?
- 18. Posso ottenere un collegamento URL a una bozza di Gmail utilizzando l'API di Gmail?
- 19. imap_search limita il numero di messaggi restituiti
- 20. Controllare il conteggio non letto dei messaggi di Gmail con Python
- 21. Come ricevere le notifiche push dal mio account Gmail?
- 22. subscribeToPullNotifications non rileva nuovi messaggi di posta elettronica in casella di posta
- 23. con C#, come recuperare la lista dei messaggi di posta elettronica da server Gmail tramite POP3
- 24. Come ottenere l'accesso OAuth a GMail?
- 25. Creazione dell'account di posta non di una casella di posta utilizzando imap in php
- 26. Determinazione del uid di un messaggio aggiunto a una casella di posta tramite IMAP
- 27. Come accedere agli allegati di posta elettronica utilizzando Gadget contestuali di Gmail
- 28. creare una casella di posta elettronica con php, javascript ecc.
- 29. Contare il numero di email in gmail usando IMAP
- 30. EWS Managed API: ricerca in una casella di posta diversa dalla casella di posta principale associata al login di Windows
Questa è una domanda Gmail o una domanda IMAP? –
@DavidHeffernan Indy IMAP. –
OK, quindi la parte di gmail non è il problema. Presumibilmente potrebbe essere qualsiasi server imap che comunichi. –