OpenPop.net получает актуальный текст сообщения из вложения
Я использую OpenPop.net, чтобы попытаться проанализировать наши ссылки со всех электронных писем, которые находятся в данной папке входящих. Я нашел этот метод, чтобы получить все сообщения:
`
public static List<OpenPop.Mime.Message> FetchAllMessages(stringhostname,
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));
foreach (var attachment in msg.FindAllAttachments())
{
string str = enc.GetString(attachment.Body);
}
}
client.Disconnect();
// Now return the fetched messages
return allMessages;
}
}`
Также попытался закодировать через символ Ascii, используя этот способ:
Но не может быть успешным.. Я хочу, чтобы HTML из файла вложения. Но во вложении. Боди дают байтовый массив. Итак, как можно байтовый массив в HTML?
1 ответ
Вы можете использовать Encoding для получения строки из потока байтов:
string result = Encoding.UTF8.GetString(bytes);
Проверьте, является ли ваша строка utf8, ascii или что-то еще. Возможно, вам придется немного изменить это.
Вы можете использовать кодировку следующим образом:
string result = Encoding.UTF8.GetString(bytes, 0, bytes.length);