Xamarin.Essentials이메일:
Email 클래스를 사용하면 애플리케이션이 제목, 본문 및 받는 사람(받는 사람, 참조, 숨은 참조)을 포함한 지정된 정보를 사용하여 기본 메일 애플리케이션을 열 수 있습니다.
이메일 기능에 액세스하려면 다음 플랫폼 관련 설정이 필요합니다.
프로젝트의 대상 Android 버전이 Android 11(R API 30)로 설정된 경우 새 패키지 가시성 요구 사항에 사용되는 쿼리로 해당 Android 매니페스트를 업데이트해야 합니다.
속성 폴더 아래의 AndroidManifest.xml 파일을 열고 매니페스트 노드 내부에 다음을 추가합니다.
<queries>
<intent>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="mailto" />
</intent>
</queries>
시작하기
이 API를 사용하기 전에 라이브러리가 제대로 설치되고 프로젝트에 설정되어 있는지 확인하기 위해 Xamarin.Essentials에 대한 시작 가이드를 읽어보세요.
팁
iOS에서 Email API를 사용하려면 물리적 디바이스에서 실행해야 하며, 예외는 throw됩니다.
메일 사용
클래스에서 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
를 사용하는 것이 좋습니다.