tcpClient.Connect(hostName, 110)
Dim networkStream As NetworkStream = tcpClient.GetStream()
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
Dim sendBytes As Byte()
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = Encoding.ASCII.GetBytes("User " + userName + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = Encoding.ASCII.GetBytes("Pass " + userPassword + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = Encoding.ASCII.GetBytes("STAT" + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = Encoding.ASCII.GetBytes("RETR " + messageNumber + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
returnMessage = Encoding.ASCII.GetString(bytes)
EmailContent.Text = returnMessage
sendBytes = Encoding.ASCII.GetBytes("QUIT" + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
tcpClient.Close()
Catch ex As Exception
EmailContent.Text = "Could not retrieve email or your inbox is empty"
End Try
Répondre
Un port droit, sans contrôle d'erreurs ajouté (mais il n'y avait pas dans l'original, que ce soit):
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = Encoding.ASCII.GetBytes("A001 LOGIN " + userName + " " + userPassword + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = Encoding.ASCII.GetBytes("A002 SELECT INBOX" + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
sTemp = networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
sendBytes = Encoding.ASCII.GetBytes("A003 FETCH " + messageNumber + " (BODY.PEEK[])" + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
returnMessage = Encoding.ASCII.GetString(bytes)
EmailContent.Text = returnMessage
sendBytes = Encoding.ASCII.GetBytes("A004 LOGOUT" + vbCrLf)
networkStream.Write(sendBytes, 0, sendBytes.Length)
Votre question d'origine avec seulement un échantillon de code utilise la communication réseau brute. Si vous avez besoin d'une connexion IMAP dans une certaine mesure, vous pouvez envisager une bibliothèque .NET IMAP like those listed here pour vous simplifier la vie. Toutefois, que ce soit pour un effort académique ou une situation où vous devez écrire le code vous-même, vous pouvez toujours utiliser cette réponse pour télécharger le code source des packages de bibliothèque IMAP .NET open source existants pour copier et coller le code dont vous avez besoin (en fonction de la licence et du but).
Les bibliothèques .NET peuvent être utilisées de manière interchangeable entre VB.NET, C# et d'autres langages, de sorte que vous pouvez ignorer les balises de langage pour la plupart si vous utilisez une bibliothèque précompilée.
- 1. Problème GMail et POP3 RETR - passer à IMAP?
- 2. Connexion à des serveurs POP3
- 3. Solution de serveur de messagerie IMAP/POP3
- 4. C# serveur de messagerie imap/pop3
- 5. Connexion à Gmail avec erreur imap
- 6. php IMAP se connecter à hotmail
- 7. Serveur de messagerie SMTP/POP3/IMAP pour Windows
- 8. Traitement des e-mails de rebond (uniquement POP3, sans IMAP)
- 9. Connexion longue durée IMAP
- 10. Comment lire le message Gmail ou Gapps sans IMAP/POP3
- 11. Authentification via POP3 à l'aide de vPopMail
- 12. Où puis-je apprendre à utiliser les protocoles pop3 et imap avec C#?
- 13. Connexion à IMAP via StreamSocket dans WinRT/C#
- 14. Perl IMAP connexion à Exchange en utilisant Mail :: IMAPClient?
- 15. Chaîne de connexion POP3 pour livemail ou gmail?
- 16. pop3 dans Android
- 17. Est-ce que POP3 et IMAP Clash lors de la synchronisation du même compte
- 18. client .Net POP3
- 19. Ruby Net :: IMAP: fermeture d'une connexion
- 20. Accéder à Imap en C#
- 21. Peut-on convertir une connexion MySQL à une connexion PDO?
- 22. erreur de connexion IMAP Ruby exception
- 23. Traiter de nombreux e-mails entrants dans Rails: MySQL vs Imap/Pop3 vs autre solution
- 24. Travailler avec des e-mails (POP3, IMAP, SMTP e.t.c) dans Erlang?
- 25. Recevoir des courriels d'un serveur Exchange dans Biztalk sans utiliser POP3 ou IMAP
- 26. Problèmes avec PHP System_Daemon et la connexion IMAP
- 27. Besoin d'un exemple de serveur POP3 ou de serveur IMAP écrit en Python
- 28. Comment fermer la commande IMAP APPEND à partir d'une connexion openssl
- 29. Comment obtenir des courriels de Gmail sur l'accès handicapés de IMAP/POP3
- 30. EWS Managed API - Le client de messagerie utilisant POP3/IMAP n'affiche pas l'en-tête personnalisé
(Notez que vous devrez EmailContent.Text post-traitement d'une manière différente de celle vous avez dû le post-traiter dans la version POP3.) – dkarp