Udostępnij za pośrednictwem


Xamarin.Essentials:E-mail

Klasa Email umożliwia aplikacji otwieranie domyślnej aplikacji poczty e-mail z określonymi informacjami, w tym tematem, treścią i adresatami (TO, CC, BCC).

Aby uzyskać dostęp do funkcji poczty e-mail , wymagana jest następująca konfiguracja specyficzna dla platformy.

Jeśli docelowa wersja systemu Android projektu jest ustawiona na Android 11 (R API 30), musisz zaktualizować manifest systemu Android za pomocą zapytań, które są używane z nowymi wymaganiami dotyczącymi widoczności pakietu.

Otwórz plik AndroidManifest.xml w folderze Właściwości i dodaj następujące elementy w węźle manifestu:

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

Rozpocznij

Aby rozpocząć korzystanie z tego interfejsu API, przeczytaj przewodnik wprowadzający , Xamarin.Essentials aby upewnić się, że biblioteka jest prawidłowo zainstalowana i skonfigurowana w projektach.

Napiwek

Aby użyć interfejsu API poczty e-mail w systemie iOS, musisz uruchomić go na urządzeniu fizycznym, w przeciwnym razie zostanie zgłoszony wyjątek.

Korzystanie z poczty e-mail

Dodaj odwołanie do Xamarin.Essentials klasy:

using Xamarin.Essentials;

Funkcja Poczta e-mail działa przez wywołanie ComposeAsync metody z elementem zawierającym EmailMessage informacje o wiadomości 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
        }
    }
}

Załączniki plików

Ta funkcja umożliwia aplikacji wysyłanie plików e-mail do klientów poczty e-mail na urządzeniu. Xamarin.Essentials Program automatycznie wykryje typ pliku (MIME) i zażąda dodania pliku jako załącznika. Każdy klient poczty e-mail jest inny i może obsługiwać tylko określone rozszerzenia plików lub w ogóle nie.

Oto przykład pisania tekstu na dysku i dodawania go jako załącznika wiadomości 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);

Różnice między platformami

Nie wszyscy klienci poczty e-mail dla systemu Android obsługują Htmlsystem , ponieważ nie ma możliwości wykrycia tego polecenia, zalecamy użycie podczas PlainText wysyłania wiadomości e-mail.

interfejs API

Więcej filmów na platformie Xamarin można znaleźć w witrynach Channel 9 i YouTube.