Kelola Lampiran dalam File Outlook MSG
Aspose.Email untuk C++ menyediakan API kaya untuk mengakses, menyimpan, menghapus, dan menyematkan lampiran saat bekerja dengan file Microsoft Outlook MSG. Lampiran ditangani melalui MapiMessage kelas, menggunakan Attachments properti, yang menampilkan sebuah MapiAttachmentCollection.
Simpan Lampiran dari File MSG
Untuk mengekstrak dan menyimpan lampiran dari file MSG:
- Muat pesan menggunakan MapiMessage::Load.
- Iterasi melalui MapiAttachmentCollection.
- Simpan setiap lampiran menggunakan MapiAttachment::Save() metode.
// Create an instance of MapiMessage from file
System::SharedPtr<MapiMessage> message = MapiMessage::Load(fileName);
// Iterate through the attachments collection
{
auto attachment_enumerator = (message->get_Attachments())->GetEnumerator();
decltype(attachment_enumerator->get_Current()) attachment;
while (attachment_enumerator->MoveNext() && (attachment = attachment_enumerator->get_Current(), true))
{
// Save the individual attachment
attachment->Save(dataDir + attachment->get_FileName());
}
}
Menghapus Lampiran
Aspose.Email untuk C++ menawarkan dua cara untuk menghapus lampiran dari file MSG:
- Panggil RemoveAttachments() metode**
Metode ini menerima jalur file pesan sebagai parameter. Ini diimplementasikan sebagai metode statis publik, jadi Anda tidak perlu menginstansiasi objek. Metode bantu statis ini menghapus semua lampiran dari file pesan.
Potongan kode berikut menunjukkan cara menggunakan metode ini.
- Panggil DestoryAttachment() metode**
Ini bekerja lebih cepat karena menghapus lampiran tanpa harus mem-parsing seluruh file MSG.
Menambahkan Lampiran MSG
File MSG dapat berisi file MSG lain baik sebagai lampiran standar maupun tersemat. Gunakan overload Add metode dalam MapiAttachmentCollection untuk menyematkan pesan Outlook.
Contoh kode berikut menunjukkan cara membuat pesan MAPI baru dengan pengirim, penerima, subjek, dan isi yang ditentukan, kemudian melampirkan file MSG yang ada sebagai pesan tersemat, dan akhirnya menyimpan pesan hasil dengan lampiran tersemat ke file MSG baru.
System::SharedPtr<MapiMessage> message = System::MakeObject<MapiMessage>(L"from@test.com", L"to@test.com", L"Subj", L"This is a message body");
System::SharedPtr<MapiMessage> attachMsg = MapiMessage::Load(L"Message.msg");
message->get_Attachments()->Add(L"Weekly report.msg", attachMsg);
message->Save(dataDir + L"WithEmbeddedMsg_out.msg");