Estoy usando OpenPop.net para tratar de analizar nuestros enlaces de todos los correos electrónicos que están en una bandeja de entrada determinada. He encontrado este método para obtener todo el mensaje:OpenPop.net obtener texto del mensaje real
public static List<OpenPop.Mime.Message> FetchAllMessages(string hostname, int port, bool useSsl, string username, string password)
{
// The client disconnects from the server when being disposed
using (Pop3Client client = new Pop3Client())
{
// Connect to the server
client.Connect(hostname, port, useSsl);
// Authenticate ourselves towards the server
client.Authenticate(username, password);
// Get the number of messages in the inbox
int messageCount = client.GetMessageCount();
// We want to download all messages
List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(messageCount);
// Messages are numbered in the interval: [1, messageCount]
// Ergo: message numbers are 1-based.
// Most servers give the latest message the highest number
for (int i = messageCount; i > 0; i--)
{
allMessages.Add(client.GetMessage(i));
}
client.Disconnect();
// Now return the fetched messages
return allMessages;
}
}
Ahora estoy tratando de colocar a través de cada mensaje, pero me parece que no puede encontrar la manera de hacerlo, tengo esto hasta ahora para mi botón:
private void button7_Click(object sender, EventArgs e)
{
List<OpenPop.Mime.Message> allaEmail = FetchAllMessages("pop3.live.com", 995, true, "[email protected]", "xxxxx");
var message = string.Join(",", allaEmail);
MessageBox.Show(message);
}
¿Cómo puedo recorrer cada entrada en allaEmail para poder mostrarla en un MessageBox?
¡GUAU, gracias foens! ¡Eso era exactamente lo que buscaba! :) Checkbox comming – user1213488
html.GetBodyAsText() da una excepción dice que la referencia de objeto no se establece en una instancia. pero obtengo el valor usando FindFirstPlainTextVersion() y luego plainText.GetBodyAsText() ¿alguna idea de por qué? – Antony