Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Класс Email позволяет приложению открывать приложение электронной почты по умолчанию с указанной информацией, включая тему, текст и получателей (TO, CC, BCC).
Для доступа к функции Email нужно создать описанную ниже конфигурацию для конкретной платформы.
Если целевой версией Android для проекта является Android 11 (API R 30), необходимо обновить манифест Android с помощью запросов, которые используются с новыми требованиями к видимости пакета.
Откройте файл AndroidManifest.xml в папке Properties и добавьте приведенный ниже код в узел manifest:
<queries>
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="mailto" />
</intent>
</queries>
Начало работы
Чтобы начать использовать этот API, ознакомьтесь с руководством по началу работы с Xamarin.Essentials, чтобы правильно настроить и установить библиотеку в проектах.
Совет
Чтобы использовать API электронной почты в iOS, запустите его на физическом устройстве, в противном случае будет создано исключение.
Использование Email
Добавьте ссылку на Xamarin.Essentials в своем классе:
using Xamarin.Essentials;
Функциональные возможности электронной почты работают путем вызова ComposeAsync метода с EmailMessage данными электронной почты:
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
}
}
}
Вложения файлов
Эта функция позволяет приложению отправлять файлы по электронной почте в почтовых клиентах на устройстве. Xamarin.Essentials автоматически обнаруживает тип файла (MIME) и запрашивает его добавление в качестве вложения. Почтовые клиенты отличаются друг от друга. Какие-то из них могут поддерживать только файлы с определенными расширениями или не поддерживать файлы вообще.
Ниже приведен пример записи текста на диск и добавления его в качестве вложения электронной почты.
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);
Различия платформ
Не все почтовые клиенты для Android поддерживают Html. Так как не существует способа определить это, при отправке писем рекомендуем использовать PlainText.