Sdílet prostřednictvím


E-mail

Projděte si ukázku. Procházení ukázky

Tento článek popisuje, jak pomocí rozhraní .NET Multi-Platform App UI (.NET MAUI) IEmail otevřít výchozí e-mailovou aplikaci. Když je e-mailová aplikace načtená, můžete ji nastavit tak, aby se vytvořil nový e-mail se zadanými příjemci, předmětem a textem.

Výchozí implementace IEmail rozhraní je k dispozici prostřednictvím Email.Default vlastnosti. Rozhraní IEmail i Email třída jsou obsaženy v Microsoft.Maui.ApplicationModel.Communication oboru názvů.

Začínáme

Pro přístup k funkcím e-mailu se vyžaduje následující nastavení specifické pro platformu.

Pokud je cílová verze androidu vašeho projektu nastavená na Android 11 (R API 30) nebo vyšší, musíte aktualizovat manifest Androidu pomocí dotazů, které používají požadavky na viditelnost balíčku Androidu.

V souboru Platformy/ Android/AndroidManifest.xml přidejte do uzlu následující queries/intent uzlymanifest:

<queries>
  <intent>
    <action android:name="android.intent.action.SENDTO" />
    <data android:scheme="mailto" />
  </intent>
</queries>

Používání e-mailu

Funkce e-mailu funguje tak, že poskytuje e-mailové informace jako argument metody ComposeAsync . V tomto příkladu EmailMessage se typ používá k vyjádření informací o e-mailu:

if (Email.Default.IsComposeSupported)
{

    string subject = "Hello friends!";
    string body = "It was great to see you last weekend.";
    string[] recipients = new[] { "john@contoso.com", "jane@contoso.com" };

    var message = new EmailMessage
    {
        Subject = subject,
        Body = body,
        BodyFormat = EmailBodyFormat.PlainText,
        To = new List<string>(recipients)
    };

    await Email.Default.ComposeAsync(message);
}

Souborové přílohy

Při vytváření e-mailu poskytnutého e-mailovému klientovi můžete přidat přílohy souborů. Typ souboru (MIME) se automaticky zjistí, takže ho nemusíte zadávat. Někteří poštovní klienti můžou omezit typy odesílaných souborů nebo úplně zabránit přílohám.

EmailMessage.Attachments Pomocí kolekce můžete spravovat soubory připojené k e-mailu.

Následující příklad ukazuje přidání souboru obrázku do příloh e-mailu.

if (Email.Default.IsComposeSupported)
{

    string subject = "Hello friends!";
    string body = "It was great to see you last weekend. I've attached a photo of our adventures together.";
    string[] recipients = new[] { "john@contoso.com", "jane@contoso.com" };

    var message = new EmailMessage
    {
        Subject = subject,
        Body = body,
        BodyFormat = EmailBodyFormat.PlainText,
        To = new List<string>(recipients)
    };

    string picturePath = Path.Combine(FileSystem.CacheDirectory, "memories.jpg");

    message.Attachments.Add(new EmailAttachment(picturePath));

    await Email.Default.ComposeAsync(message);
}

Rozdíly mezi platformami

Ne všechny e-mailové klienty pro podporu EmailBodyFormat.HtmlAndroidu , protože neexistuje způsob, jak to zjistit, doporučujeme použít EmailBodyFormat.PlainText při odesílání e-mailů.