Bagikan melalui


Xamarin.Essentials:Email

Kelas Email memungkinkan aplikasi untuk membuka aplikasi email default dengan informasi tertentu termasuk subjek, isi, dan penerima (TO, CC, BCC).

Untuk mengakses fungsionalitas Email , diperlukan penyiapan spesifik platform berikut.

Jika versi Target Android proyek Anda diatur ke Android 11 (R API 30) Anda harus memperbarui Android Manifest dengan kueri yang digunakan dengan persyaratan visibilitas paket baru.

Buka file AndroidManifest.xml di bawah folder Properti dan tambahkan yang berikut ini di dalam node manifes:

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

Memulai

Untuk mulai menggunakan API ini, baca panduan memulai untuk Xamarin.Essentials memastikan pustaka diinstal dan disiapkan dengan benar di proyek Anda.

Tip

Untuk menggunakan API Email di iOS, Anda harus menjalankannya di perangkat fisik, jika tidak, pengecualian akan dilemparkan.

Menggunakan Email

Tambahkan referensi ke Xamarin.Essentials di kelas Anda:

using Xamarin.Essentials;

Fungsionalitas Email berfungsi dengan memanggil ComposeAsync metode dengan yang EmailMessage berisi informasi tentang email:

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
        }
    }
}

Lampiran File

Fitur ini memungkinkan aplikasi untuk mengirim file email di klien email di perangkat. Xamarin.Essentials akan secara otomatis mendeteksi jenis file (MIME) dan meminta file ditambahkan sebagai lampiran. Setiap klien email berbeda dan hanya dapat mendukung ekstensi file tertentu, atau tidak sama sekali.

Berikut adalah sampel penulisan teks ke disk dan menambahkannya sebagai lampiran email:

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);

Perbedaan Platform

Tidak semua klien email untuk dukungan HtmlAndroid , karena tidak ada cara untuk mendeteksi hal ini, sebaiknya gunakan PlainText saat mengirim email.

API

Temukan video Xamarin lainnya di Channel 9 dan YouTube.