Aracılığıyla paylaş


Xamarin.Essentials:E-posta

Email sınıfı, bir uygulamanın konu, gövde ve alıcılar (TO, CC, BCC) gibi belirtilen bilgilerle varsayılan e-posta uygulamasını açmasına olanak tanır.

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üğü gereksinimleriyle kullanılan sorgularla güncelleştirmeniz gerekir.

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

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

Kullanmaya başlayın

Bu API'yi kullanmaya başlamak için kitaplığın projelerinizde düzgün yüklendiğinden ve ayarlandığından emin olmak için Xamarin.Essentials kullanmaya başlama kılavuzunu okuyun.

İpucu

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

E-posta Kullanma

Sınıfınızda için Xamarin.Essentials bir başvuru ekleyin:

using Xamarin.Essentials;

E-posta işlevi, yöntemini e-posta hakkında bilgi içeren bir EmailMessage ile çağırarak ComposeAsync çalışır:

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-postayla göndermesini sağlar. Xamarin.Essentials dosya türünü (MIME) otomatik olarak algılar ve dosyanın ek olarak eklenmesini ister. Her e-posta istemcisi farklıdır ve yalnızca belirli dosya uzantılarını destekleyemeyebilir veya hiç desteklemeyebilir.

Diske metin yazma ve e-posta eki olarak ekleme örneği aşağıda 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ı

Android için tüm e-posta istemcileri desteklemez Html, çünkü bunu algılamanın hiçbir yolu yoktur, e-posta gönderirken kullanmanızı PlainText öneririz.

API

Channel 9 ve YouTube'da daha fazla Xamarin videosu bulun.