Xamarin.Essentials: E-posta

E-posta sınıfı, bir uygulamanın konu, gövde ve alıcılar (Kime, CC, gizli) gibi belirtilen bilgileri içeren varsayılan e-posta uygulamasını açmasına olanak sağlar.

E-posta işlevine erişmek için aşağıdaki platforma özgü kurulum gereklidir.

Projenizin hedef Android sürümü, Android 11 (R API 30) olarak ayarlandıysa, Android bildiriminizi yeni paket görünürlük gereksinimleriylekullanılan sorgularla güncelleştirmeniz gerekir.

Özellikler klasörünün altında AndroidManifest.xml dosyasını açın ve bildirim düğümünün içine aşağıdakini ekleyin:

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

başlarken

Bu API 'yi kullanmaya başlamak için, kitaplığın projelerinizde düzgün bir şekilde yüklendiğinden ve ayarlandığından emin olmak için Başlarken Kılavuzunu okuyun.

İpucu

İOS 'ta e-posta API 'sini kullanmak için fiziksel bir cihazda çalıştırmanız gerekir, aksi takdirde bir özel durum oluşturulur.

E-posta kullanma

Sınıfınıza bir başvuru ekleyin Xamarin.Essentials :

using Xamarin.Essentials;

E-posta işlevselliği, ComposeAsyncEmailMessage e-posta hakkında bilgi içeren bir yöntemi çağırarak işe yarar:

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

Dosya ekleri

Bu özellik, bir uygulamanın cihazdaki e-posta istemcilerindeki dosyaları e-posta ile göndermenizi sağlar. Xamarin.Essentials dosya türünü (MIME) otomatik olarak algılar ve dosyayı ek olarak eklenecek şekilde ister. Her e-posta istemcisi farklıdır ve yalnızca belirli dosya uzantılarını destekleyebilir veya hiç yok olabilir.

Aşağıda, diske metin yazma ve e-posta eki olarak ekleme örnekleri verilmiştir:

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

Platform farkları

E-posta Html gönderirken kullanmanızı önerdiğimiz bir yöntem olmadığından, Android desteği için tüm e-posta istemcileri değildir PlainText .

API

Channel 9 ve YouTube'da daha fazla Xamarin videoları bulun.