Správa zpráv Outlook

Uložit e‑mail jako HTML

Aspose.Email umožňuje ukládat e‑mailové prostředky s relativními cestami při exportu zpráv do formátu HTML. Tato funkce poskytuje větší flexibilitu v tom, jak jsou prostředky propojeny ve výstupním souboru HTML, což usnadňuje sdílení a zobrazování uložených e‑mailů na různých systémech. Pro uložení prostředků s relativními cestami použijte HtmlSaveOptions.UseRelativePathToResources vlastnosti. Výchozí hodnota vlastnosti je false (prostředky jsou ukládány s absolutními cestami). Když je nastavena na true, prostředky jsou ukládány s relativními cestami.

HTML soubory s relativními cestami jsou přenosnější a mohou být zobrazeny správně bez ohledu na strukturu souborů v hostitelském prostředí. Můžete si vybrat mezi absolutními a relativními cestami podle požadavků. Vlastní cesty pro prostředky můžete definovat pomocí ResourceHtmlRendering událost.

Následující ukázka kódu demonstruje, jak uložit e‑mail s výchozí relativní cestou k prostředkům:

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = true
};

msg.Save(Path.Combine("target_files"), htmlSaveOptions);

V tomto případě budou prostředky uloženy do složky [html file name]_files, ve stejné cestě jako soubor .html, a HTML bude odkazovat na prostředky pomocí relativních cest.

Níže uvedený ukázkový kód demonstruje, jak uložit s absolutní cestou k prostředkům:

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = false
};

msg.Save(Path.Combine("target_files"), htmlSaveOptions);

Stejně jako v prvním případě budou prostředky ve výchozím nastavení uloženy do složky [html file name]_files, ale HTML bude odkazovat na prostředky pomocí absolutních cest.

Použitím ResourceHtmlRendering události můžete nastavit vlastní relativní nebo absolutní cesty pro zdroje. Při přizpůsobování cest pomocí ResourceHtmlRendering obslužná rutina události a protože UseRelativePathToResources je nastaveno na true, měli byste přiřadit relativní cestu k PathToResourceFile vlastnost pro zajištění správného odkazování.

Následující ukázka kódu demonstruje, jak přizpůsobit relativní cestu pomocí události ResourceHtmlRendering

var msg = MapiMessage.Load(sourceFileName);

var htmlSaveOptions = new HtmlSaveOptions
{
    ResourceRenderingMode = ResourceRenderingMode.SaveToFile,
    UseRelativePathToResources = true
};

htmlSaveOptions.ResourceHtmlRendering += (o, args) =>
{
    if (o is AttachmentBase attachment)
    {
	    // Since UseRelativePathToResources = true, you should assign a relative path to the PathToResourceFile property.
        args.PathToResourceFile = $@"images\{attachment.ContentType.Name}";
    }
};

msg.Save(Path.Combine(targetPath, "A Day in the Park.html"), htmlSaveOptions);

Převést MSG na MIME zprávy

Aspose.Email API poskytuje možnost konverze souborů MSG na MIME zprávy pomocí ToMailMessage metoda.

Nastavit časové limity pro převod zprávy a načítání

Následující funkce vám umožní nastavit časový limit v milisekundách pro proces převodu a načítání:

Níže uvedená ukázka kódu vám ukáže, jak nastavit časový limit při převodu zprávy:

var options = new MailConversionOptions();
// Set the timeout to 5 seconds
options.Timeout = 5000;

options.TimeoutReached += (object sender, EventArgs args) =>
{
    string subj = (sender as MailMessage).Subject;
	 // Set a flag indicating the timeout was reached
    isTimedOut = true;
};

var mailMessage = mapiMessage.ToMailMessage(options);

Převod MSG na EML se zachováním těla RTF

Převod souboru MSG na EML při zachování těla RTF lze provést dvěma způsoby:

Obě vlastnosti získávají nebo nastavují hodnotu, která určuje, zda zachovat tělo rtf v MailMessage.

Následující ukázky kódu ukazují, jak převést soubor MSG na EML a zachovat tělo ve formátu RTF:

var loadOptions = new MsgLoadOptions
{
    PreserveRtfContent = true
};

var eml = MailMessage.Load("my.msg", loadOptions);
var conversionOptions = new MailConversionOptions
{
    PreserveRtfContent = true
};

var msg = MapiMessage.Load("my.msg");

var eml = msg.ToMailMessage(conversionOptions);

Zpracování souborů šablon Outlooku (.OFT)

Šablony Outlooku jsou velmi užitečné, když chcete opakovaně odesílat podobnou e‑mailovou zprávu. Místo toho, aby jste zprávu pokaždé připravovali od nuly, nejprve ji připravte v Outlooku a uložte jako Outlook Template (OFT). Poté, kdykoli potřebujete zprávu odeslat, můžete ji vytvořit ze šablony, čímž ušetříte čas při psaní stejného textu v těle nebo předmětu, nastavení formátování a podobně. Aspose.Email nabízí MailMessage třída může být použita k načtení a čtení souboru šablony Outlook (OFT). Jakmile je šablona Outlook načtena v instanci MailMessage třídy, můžete aktualizovat odesílatele, příjemce, tělo, předmět a další vlastnosti. Po aktualizaci vlastností:

  • Odeslat e‑mail pomocí SmtpClient třídu nebo
  • Uložit zprávu jako MSG a provést další aktualizace/validace pomocí Microsoft Outlook.

V níže uvedených ukázkách kódu děláme:

  1. Načíst šablonu pomocí MailMessage třída.
  2. Aktualizovat některé vlastnosti.
  3. Uložit zprávu ve formátu MSG.

Následující úryvek kódu ukazuje, jak načíst soubor OFT, aktualizovat zprávu a uložit ji ve formátu MSG.

Uložit soubory MSG jako šablony

Následující úryvek kódu vám ukazuje, jak uložit soubor Outlook MSG jako šablonu.

Určit typ MAPI zprávy (OFT nebo MSG)

Při načítání objektu MapiMessage ze souboru můžete potřebovat zjistit, zda je načtená zpráva souborem šablony nebo běžným e‑mailem. Použitím IsTemplate vlastnost třídy MapiMessage třída, pomocí které můžete přesně zjistit, zda je e‑mail šablonou nebo ne. Tato funkčnost může být užitečná při zpracování různých typů e‑mailových souborů v aplikacích a systémech.

Níže uvedený příklad kódu ukazuje, jak zjistit, zda je MapiMessage formátu OFT nebo MSG:

var msg = MapiMessage.Load("message.msg");
var isOft = msg.IsTemplate; // returns false

var msg = MapiMessage.Load("message.oft");
var isOft = msg.IsTemplate; // returns true

Uložit MapiMessage nebo MailMessage ve formátu OFT

The SaveOptions třída umožňuje specifikovat další možnosti při ukládání MailMessage nebo MapiMessage do konkrétního formátu.

Následující ukázkový kód demonstruje, jak uložit zprávu do formátu OFT:

// Save the MailMessage to OFT format
using (var eml = MailMessage.Load("message.eml"))
{
    eml.Save("message.oft", SaveOptions.DefaultOft);
	
	// or alternative way #2
	var saveOptions = new MsgSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    eml.Save("message.oft", saveOptions);
	
	// or alternative  way #3
	saveOptions = SaveOptions.CreateSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    eml.Save("message.oft", saveOptions);

}

// Save the MapiMessage to OFT format
using (var msg = MapiMessage.Load("message.msg"))
{
    msg.Save("message.oft", SaveOptions.DefaultOft);
	
	// or alternative way #2
	var saveOptions = new MsgSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    msg.Save("message.oft", saveOptions);
	
	// or alternative  way #3
	saveOptions = SaveOptions.CreateSaveOptions(MailMessageSaveType.OutlookTemplateFormat);
    msg.Save("message.oft", saveOptions);
}

Správa digitálně podepsaných zpráv

Aspose.Email implementuje kompletní algoritmus S/MIME e‑mailových objektů. To poskytuje API plnou moc zachovat digitální podpisy při převodu zpráv mezi formáty.

Zachovat podpis během převodu EML na MSG

Aspose.Email zachovává digitální podpis při konverzi z EML do MSG. Následující úryvek kódu vám ukazuje, jak provést konverzi z EML do MSG.

Převést S/MIME zprávy z MSG na EML

Aspose.Email zachovává digitální podpis při konverzi z MSG do EML, jak je ukázáno v následujícím úryvku kódu.

Kontrola podpisů zabezpečených e‑mailů

Následující funkce jsou k dispozici pro kontrolu podpisu objektů MapiMessage.

Níže uvedený ukázkový kód ukazuje, jak implementovat funkce ve vašem projektu:

var msg = MapiMessage.Load(fileName, new EmlLoadOptions());
var result = new SecureEmailManager().CheckSignature(msg);

var certFileName = "cert.pfx";
var cert = new X509Certificate2(certFileName, "pass");
var eml = MapiMessage.Load(fileName);
var store = new X509Store();
store.Open(OpenFlags.ReadWrite);
store.Add(cert);
store.Close();

var result = new SecureEmailManager().CheckSignature(eml, cert, store);

Odstranit podpisy z MapiMessage

Pro lepší kompatibilitu, MapiMessage.RemoveSignature metoda a MapiMessage.IsSigned vlastnosti se používají k odebrání digitálního podpisu ze zprávy.

Následující úryvek kódu ukazuje, jak implementovat tyto funkce do vašeho projektu:

var msg = MapiMessage.Load(fileName);

if (msg.IsSigned)
{
    var unsignedMsg = msg.RemoveSignature();
}

Dešifrovat MapiMessage pomocí certifikátů

Pokud máte šifrované MAPI zprávy a potřebujete je dešifrovat pomocí soukromého klíče uloženého v certifikátu, mohou být užitečné následující funkce Aspose.Email:

Následující úryvek kódu ukazuje, jak pracovat s šifrovanými MAPI zprávami:

var privateCert = new X509Certificate2(privateCertFile, "password");
var msg = MapiMessage.Load("encrypted.msg");

if (msg.IsEncrypted);
{
    var decryptedMsg = msg.Decrypt(privateCert);
}

Nastavit barevné kategorie pro soubory MSG

Barevná kategorie označuje e‑mailovou zprávu určitým způsobem důležitosti nebo kategorie. Microsoft Outlook umožňuje uživatelům přiřadit barevné kategorie k rozlišení e‑mailů. Pro práci s barevnou kategorií použijte FollowUpManager. Obsahuje funkce jako například AddCategory, RemoveCategory, ClearCategories a GetCategories.

  • AddCategory přebírá MapiMessage a řetězec barevné kategorie, např. "Fialová kategorie" nebo "Červená kategorie" jako argumenty.
  • RemoveCategory přebírá MapiMessage a řetězec barevné kategorie, který má být ze zprávy odstraněn.
  • ClearCategories slouží k odstranění všech barevných kategorií ze zprávy.
  • GetCategories slouží k načtení všech barevných kategorií z konkrétní zprávy.

Následující příklad provádí úkoly uvedené níže:

  1. Přidat barevnou kategorii.
  2. Přidat další barevnou kategorii.
  3. Načíst seznam všech kategorií.
  4. Odstranit všechny kategorie.

Přístup k informacím o následném zpracování v souborech MSG

Aspose.Email API poskytuje možnost přístupu k informacím o následném zpracování ze zaslané nebo přijaté zprávy. Může získat informace o přečtení, potvrzení doručení a výsledcích hlasování ze souboru zprávy.

Získat informace o doručení a přečtení

Následující úryvek kódu vám ukazuje, jak získat informace o potvrzení přečtení a doručení.

Vytvořit zprávy pro přeposlání a odpověď

Aspose.Email API poskytuje možnost vytvářet a formátovat zprávy pro přeposlání a odpověď. Aspose.Email API poskytuje možnost vytvářet a formátovat zprávy předání a odpovědi. The a ReplyMessageBuilder ForwardMessageBuilder třídy API jsou použity k vytvoření odpovědních a předávacích zpráv. Odpověď nebo předání může být vytvořeno pomocí libovolného z režimů OriginalMessageAdditionMode

  • výčtový typ. Tento výčtový typ má následující hodnoty:
  • OriginalMessageAdditionMode.None – Původní zpráva není zahrnuta v odpovědi.
  • OriginalMessageAdditionMode.Textpart – Původní zpráva je zahrnuta jako text v těle odpovědní zprávy

Vytvořit odpovědi

Následující úryvek kódu ukazuje, jak vytvořit odpovědní zprávu.

Vytvořit zprávy pro přeposlání

Následující úryvek kódu ukazuje, jak vytvořit odpovědní zprávu.