Xamarin.Essentials:電子メールXamarin.Essentials: Email

アプリケーションで Email クラスを使用すると、件名、本文、受信者 (TO、CC、BCC) などの情報を指定して既定のメール アプリケーションを開くことができます。The Email class enables an application to open the default email application with a specified information including subject, body, and recipients (TO, CC, BCC).

作業開始Get started

この API の使用を始めるには、Xamarin.Essentials の概要ガイドを読み、ライブラリが正しくインストールされてプロジェクトに設定されていることを確認してください。To start using this API, read the getting started guide for Xamarin.Essentials to ensure the library is properly installed and set up in your projects.

ヒント

iOS で Email API を使用するには、物理デバイスで実行されている必要があります。それ以外の場合、例外がスローされます。To use the Email API on iOS you must run it on a physical device, else an exception will be thrown.

Email の使用Using Email

自分のクラスの Xamarin.Essentials に参照を追加します。Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

Email の機能を使用するには、電子メールに関する情報を含む EmailMessage を指定して ComposeAsync メソッドを呼び出します。The Email functionality works by calling the ComposeAsync method an EmailMessage that contains information about the 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
        }
    }
}

プラットフォームによる違いPlatform Differences

Android の一部のメール クライアントは Html を検出する手段がなく、これをサポートしていないため、メールを送信するときは PlainText を使用することをお勧めします。Not all email clients for Android support Html, since there is no way to detect this we recommend using PlainText when sending emails.

添付ファイルFile Attachments

プレビュー機能

ファイルのメール送信は、Xamarin.Essentials バージョン 1.1.0 で実験的プレビューとして利用できます。Emailing files is available as an experimental preview in Xamarin.Essentials version 1.1.0. この機能により、アプリではデバイスのメール クライアントでファイルをメール送信できます。This features enables an app to emails files in email clients on the device. この機能を有効にするには、アプリのスタートアップ コードで次のプロパティを設定します。To enable this feature set the following property in your app's startup code:

ExperimentalFeatures.Enable(ExperimentalFeatures.EmailAttachments);

機能を有効にした後は、すべてのファイルをメールで送信できます。After the feature enabled any file can be emailed. Xamarin.Essentials では、自動的にファイルの種類 (MIME) が検出されて、ファイルを添付として追加することが要求されます。Xamarin.Essentials will automatically detect the file type (MIME) and request the file to be added as an attachment. すべてのメール クライアントは異なり、特定のファイル拡張子のみをサポートできるか、またはまったくサポートできません。Every email client is different a may only support specific file extensions or none at all.

テキストをディスクに書き込み、メールの添付ファイルとして追加するサンプルを次に示します。Here is a sample of writing text to disk and adding it as an email attachment:

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

APIAPI