
- Ładowanie kontaktu z plików MSG
- Wyodrębnianie szczegółów kontaktu
- Zapisywanie zdjęcia kontaktu
- Zapisywanie kontaktu do VCF
- Ładowanie kontaktu z VCF
Efektywne zarządzanie kontaktami jest istotne dla profesjonalistów i firm. Zapewnia to, że możesz łatwo znaleźć i połączyć się z odpowiednimi osobami, kiedy ich potrzebujesz. Niezależnie od tego, czy planujesz spotkania, wysyłasz e-maile czy dzielisz się dokumentami, posiadanie zorganizowanych i aktualnych kontaktów może znacząco poprawić twoją wydajność.
Pliki MSG to powszechnie używany format do przechowywania wiadomości e-mail, kontaktów i innych elementów. Programowe wyodrębnianie informacji kontaktowych z plików MSG z Outlooka może być kluczowym zadaniem w różnych scenariuszach, takich jak migracja danych czy zautomatyzowane przetwarzanie danych. W tym artykule zbadamy, jak ładować, wyodrębniać i zapisywać informacje kontaktowe z plików MSG z Outlooka.
Rozpocznij pracę z zaawansowanym API C#
Aby pracować z plikami MSG, użyjemy Aspose.Email dla .NET. To potężna i wszechstronna biblioteka do przetwarzania i zarządzania e-mailem, która zapewnia programistom kompleksowy zestaw narzędzi i funkcji do pracy z wiadomościami e-mail, zadaniami, kalendarzami, kontaktami i różnymi zadaniami związanymi z e-mailem w aplikacjach .NET. Więc zanim zaczniemy, upewnij się, że masz zainstalowane i odwołane Aspose.Email w swoim projekcie. Jeśli jeszcze tego nie zrobiłeś, możesz pobrać jego DLL lub zainstalować go z NuGet.
Ładowanie kontaktu z plików MSG
Aby wyodrębnić informacje kontaktowe z pliku MSG, musimy załadować plik do obiektu MapiMessage
za pomocą metody MapiMessage.Load
z Aspose.Email. Możesz załadować kontakt do MapiMessage i obsługiwać go jak zwykłą wiadomość MAPI: odczytywać właściwości, modyfikować, zapisywać, dodawać do pamięci, wysyłać. Poniższy przykład kodu pokaże ci, jak załadować i przetworzyć kontakty Outlooka:
- Załaduj istniejący element kontaktu w pliku MSG za pomocą metody MapiMessage.Load. Ta metoda odczytuje zawartość określonego pliku MSG i tworzy obiekt MapiMessage reprezentujący wiadomość e-mail.
- Ustaw zawartość HTML za pomocą metody SetBodyContent, aby zastąpić zawartość.
- Określ parametr BodyContentType.Html, który wskazuje, że podana zawartość jest w formacie HTML. Zapewnia to, że zawartość jest poprawnie interpretowana jako HTML, gdy jest wyświetlana przez klientów e-mail.
- Zapisz zmodyfikowany obiekt MapiMessage z powrotem do pliku MSG za pomocą metody Save.
var msg = MapiMessage.Load("Lynna M. Dyer.msg");
msg.SetBodyContent("<!DOCTYPE html><html><body><h1>Lynna M. Dyer</h1></body></html>", BodyContentType.Html);
msg.Save("Lynna M. Dyer.msg");
Wyodrębnianie szczegółów kontaktu
Gdy już załadujemy plik MSG, możemy wyodrębnić szczegóły kontaktu za pomocą klasy MapiContact. MapiContact zapewnia wygodne właściwości do uzyskiwania dostępu do określonych pól kontaktowych. Podany przykład kodu demonstruje, jak wyodrębnić i wyświetlić informacje kontaktowe z e-maila MSG.
- Rozpocznij od sprawdzenia, czy MSG jest elementem kontaktu. Użyj właściwości SupportedType, która wskazuje typ elementu Outlook.
- Przekonwertuj obiekt msg na obiekt
MapiContact
. Ta konwersja umożliwia dostęp do specjalistycznych właściwości i metod specyficznych dla elementów kontaktowych. - Wyodrębnij i wyświetl informacje kontaktowe. W tym przykładzie uzyskujemy dostęp do właściwości DisplayName, Email, CompanyName i Title obiektu MapiContact, które reprezentują imię i nazwisko kontaktu, adres e-mail, nazwę firmy i tytuł zawodowy. Możesz uzyskać dostęp do innych właściwości obiektu
MapiContact
zgodnie z wymaganiami.
if (msg.SupportedType == MapiItemType.Contact)
{
var contact = (MapiContact)msg.ToMapiMessageItem();
Console.WriteLine(contact.NameInfo.DisplayName);
Console.WriteLine(contact.ElectronicAddresses.Email1);
Console.WriteLine(contact.ProfessionalInfo.CompanyName);
Console.WriteLine(contact.ProfessionalInfo.Title);
}
Zapisywanie zdjęcia kontaktu
Jeśli plik MSG zawiera zdjęcie kontaktu, możemy je zapisać do pliku za pomocą poniższego kodu:
- Sprawdź, czy kontakt ma zdjęcie. To się robi, oceniając, czy właściwość contact.Photo nie jest pusta.
- Jeśli zdjęcie jest obecne, kod przechodzi do zapisania go jako plik.
if (contact.Photo != null)
{
System.IO.File.WriteAllBytes($"{contact.NameInfo.DisplayName}.{MapiContactPhotoImageFormat.Jpeg.ToString()}", contact.Photo.Data);
}
Zapisywanie kontaktu do VCF
Dodatkowo często konieczne jest przekształcenie kontaktu z MSG do bardziej uniwersalnego formatu, takiego jak VCARD. VCard (Wirtualny Plik Kontaktowy) to standardowy format pliku używany do przechowywania informacji kontaktowych. Poniższy przykład kodu demonstruje, jak zapisać element kontaktowy reprezentowany przez obiekt kontaktu jako plik VCard:
Kod używa metody Save obiektu kontaktu, aby zainicjować proces zapisywania kontaktu jako VCard.
contact.Save("Lynna M. Dyer.vcf", ContactSaveFormat.VCard);
Ładowanie kontaktu z VCF
Możesz także załadować istniejący plik VCARD
do obiektu MapiContact
. Poniższy przykład kodu demonstruje, jak załadować informacje kontaktowe z VCard i stworzyć obiekt MapiContact:
- Kod zaczyna od użycia metody MapiContact.FromVCard, aby załadować informacje kontaktowe z VCard.
- Zmienna contact przechowuje ten nowo utworzony obiekt MapiContact, który można używać do uzyskiwania dostępu i manipulowania szczegółami kontaktu programowo.
var contact = MapiContact.FromVCard("Lynna M. Dyer.vcf");
Zakończenie
W tym artykule zbadaliśmy, jak programowo wyodrębnić informacje kontaktowe z plików MSG z Outlooka przy użyciu Aspose.Email. Przeszliśmy przez proces ładowania pliku MSG, wyodrębniania szczegółów kontaktowych za pomocą klasy MapiContact i zapisywania kontaktu w różnych formatach. Aspose.Email upraszcza proces pracy z plikami MSG i zapewnia szeroki zakres funkcjonalności do obsługi danych e-mailowych.
Pamiętaj, aby zmodyfikować ścieżki plików i dostosować kod do swoich specyficznych wymagań. Obszerna dokumentacja Aspose.Email oraz pomocne fora społeczności pomogą ci jeszcze bardziej wykorzystać jego możliwości w skutecznym wyodrębnianiu informacji kontaktowych.