Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Element wird beschrieben, wie Sie die Schnittstelle IEmail von .NET Multi-Platform App UI (.NET MAUI) verwenden können, um die Standard-E-Mail-App zu öffnen. Wenn die E-Mail-App geladen wird, kann sie so festgelegt werden, dass eine neue E-Mail mit den angegebenen Empfänger*innen, dem Betreff und dem Text erstellt wird.
Die Standardimplementierung der Schnittstelle IEmail
ist über die Eigenschaft Email.Default verfügbar. Sowohl die IEmail
-Schnittstelle als auch die Email
-Klasse sind im Microsoft.Maui.ApplicationModel.Communication
-Namespace enthalten.
Erste Schritte
Für den Zugriff auf die Email-Funktion ist die folgende plattformspezifische Einrichtung erforderlich.
Wenn die Android-Zielversion Ihres Projekts auf Android 11 (R API 30) oder höher gesetzt ist, müssen Sie Ihr Android-Manifest mit Abfragen aktualisieren, die die Paketsichtbarkeitsanforderungen von Android verwenden.
Fügen Sie in der Datei Platforms/Android/AndroidManifest.xml die folgenden queries/intent
-Knoten zum Knoten manifest
hinzu:
<queries>
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="mailto" />
</intent>
</queries>
Verwenden von E-Mail
Die E-Mail-Funktion funktioniert, indem die E-Mail-Informationen als Argument für die Methode ComposeAsync bereitgestellt werden. In diesem Beispiel wird der Typ EmailMessage verwendet, um die E-Mail-Informationen darzustellen:
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);
}
Dateianlagen
Beim Erstellen der E-Mail, die dem E-Mail-Client bereitgestellt wird, können Sie Dateianlagen hinzufügen. Der Dateityp (MIME) wird automatisch erkannt, sodass Sie ihn nicht angeben müssen. Einige E-Mail-Clients beschränken möglicherweise die Dateitypen, die Sie senden, oder verhindern Anlagen komplett.
Verwenden Sie die Auflistung EmailMessage.Attachments, um die an eine E-Mail angefügten Dateien zu verwalten.
Das folgende Beispiel veranschaulicht, wie eine Bilddatei zu E-Mail-Anlagen hinzugefügt wird:
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);
}
Plattformunterschiede
Nicht alle E-Mail-Clients für Android unterstützen EmailBodyFormat.Html. Da es keine Möglichkeit gibt, dies zu erkennen, wird beim Versenden von E-Mails die Verwendung von EmailBodyFormat.PlainText empfohlen.