Xamarin.EssentialsAdresse e-mail :
La classe Email permet à une application d’ouvrir l’application de messagerie par défaut en utilisant des informations spécifiques, notamment l’objet, le corps et les destinataires (À, CC, CCI).
Pour accéder à la fonctionnalité e-mail , la configuration spécifique à la plateforme suivante est requise.
Si la version Android cible de votre projet est définie sur Android 11 (API R 30), vous devez mettre à jour votre manifeste Android avec des requêtes utilisées avec les nouvelles exigences de visibilité du package.
Ouvrez le fichier AndroidManifest.xml sous le dossier Propriétés, puis ajoutez ce qui suit dans le nœud manifeste :
<queries>
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="mailto" />
</intent>
</queries>
Démarrage
Pour commencer à utiliser cette API, lisez le guide de prise en main pour Xamarin.Essentials vous assurer que la bibliothèque est correctement installée et configurée dans vos projets.
Conseil
Pour utiliser l’API de messagerie sur iOS, vous devez l’exécuter sur un appareil physique, sinon une exception sera levée.
Utilisation de l’e-mail
Ajoutez une référence à Xamarin.Essentials votre classe :
using Xamarin.Essentials;
La fonctionnalité e-mail fonctionne en appelant la ComposeAsync
méthode avec une EmailMessage
information sur l’e-mail :
public class EmailTest
{
public async Task SendEmail(string subject, string body, List<string> recipients)
{
try
{
var message = new EmailMessage
{
Subject = subject,
Body = body,
To = recipients,
//Cc = ccRecipients,
//Bcc = bccRecipients
};
await Email.ComposeAsync(message);
}
catch (FeatureNotSupportedException fbsEx)
{
// Email is not supported on this device
}
catch (Exception ex)
{
// Some other exception occurred
}
}
}
Pièces jointes
Cette fonctionnalité permet à une application d’envoyer des fichiers électroniques dans des clients de messagerie sur l’appareil. Xamarin.Essentials détecte automatiquement le type de fichier (MIME) et demande l’ajout du fichier en tant que pièce jointe. Chaque client de messagerie est différent et peut uniquement prendre en charge des extensions de fichier spécifiques, ou aucun du tout.
Voici un exemple d’écriture de texte sur le disque et d’ajout en tant que pièce jointe à un e-mail :
var message = new EmailMessage
{
Subject = "Hello",
Body = "World",
};
var fn = "Attachment.txt";
var file = Path.Combine(FileSystem.CacheDirectory, fn);
File.WriteAllText(file, "Hello World");
message.Attachments.Add(new EmailAttachment(file));
await Email.ComposeAsync(message);
Différences entre les plateformes
Les clients de messagerie pour Android ne prennent pas tous en charge Html
, car il n’y a aucun moyen de le détecter. Nous vous recommandons d’utiliser PlainText
pour envoyer des e-mails.