Xamarin.EssentialsIndirizzo di posta elettronica:
La classe Email consente a un'applicazione di aprire l'applicazione di posta elettronica predefinita con le informazioni specificate, inclusi oggetto, corpo e destinatari (A, Cc, Ccn).
Per accedere alla funzionalità Posta elettronica è necessaria la configurazione specifica della piattaforma seguente.
Se la versione di Android di destinazione del progetto è impostata su Android 11 (API R 30) è necessario aggiornare il manifesto Android con query usate con i nuovi requisiti di visibilità del pacchetto.
Aprire il file AndroidManifest.xml nella cartella Proprietà e aggiungere quanto segue all'interno del nodo manifest:
<queries>
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="mailto" />
</intent>
</queries>
Operazioni preliminari
Per iniziare a usare questa API, leggere la guida introduttiva per Xamarin.Essentials assicurarsi che la libreria sia installata e configurata correttamente nei progetti.
Suggerimento
Per usare l'API Email in iOS, è necessario eseguirla in un dispositivo fisico, altrimenti verrà generata un'eccezione.
Uso di Email
Aggiungere un riferimento a Xamarin.Essentials nella classe :
using Xamarin.Essentials;
La funzionalità Email funziona chiamando il ComposeAsync
metodo con un EmailMessage
che contiene informazioni sul messaggio di posta elettronica:
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
}
}
}
File allegati
Questa funzionalità consente a un'app di inviare file di posta elettronica nei client di posta elettronica nel dispositivo. Xamarin.Essentials rileverà automaticamente il tipo di file (MIME) e richiederà l'aggiunta del file come allegato. Ogni client di posta elettronica è diverso e può supportare solo estensioni di file specifiche o nessuna.
Il seguente esempio mostra la scrittura di testo su disco e l'aggiunta del testo come allegato di posta elettronica:
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);
Differenze tra le piattaforme
Non tutti i client di posta elettronica per Android supportano Html
. Dato che non è possibile rilevare questa condizione, è consigliabile usare PlainText
durante l'invio di messaggi di posta elettronica.
API
Video correlato
Altri video di Xamarin sono disponibili su Channel 9 e YouTube.