MAUI怎么发送电子邮件 MAUI Email功能使用

来源:这里教程网 时间:2026-02-21 17:34:26 作者:

MAUI 发送电子邮件,靠的是

IEmail
接口,它不直接发信,而是调用设备上已安装的默认邮件应用(比如 iOS 的“邮件”、Android 的 Gmail 或 Outlook),预填好收件人、主题和正文,由用户确认后发出。整个过程不经过你的 App 后端,也不需要你配置 SMTP。

确保设备支持并启用 Email 功能

不是所有环境都默认支持:
• iOS 和 Android 真机可正常调用系统邮件客户端;
• Windows 桌面版需已安装并设为默认邮件程序(如 Outlook);
• macOS 支持,但要求系统“邮件”App 已登录有效账户;
• 模拟器/调试器中可能无响应或报错——建议真机测试。

基础发送代码(C#)

只需几行就能打开预填邮件界面:

if (Email.Default.IsSupported)
{
    var message = new EmailMessage
    {
        Subject = "你好",
        Body = "这是一封来自 MAUI 的测试邮件。",
        To = new List<string> { "test@example.com" },
        // Cc, Bcc, Attachments 也支持(Attachments 需传入 FileBase 实例)
    };
    await Email.Default.ComposeAsync(message);
}

注意:

Email.Default.IsSupported
必须先判断,避免在不支持平台崩溃;
ComposeAsync
是异步方法,务必用
await

• 附件目前仅支持本地文件路径(需先保存到应用沙盒或缓存目录)。

常见问题处理

点击没反应? 检查是否在主线程调用,或是否被 try-catch 吞掉异常;
中文乱码或换行失效? Body 中避免使用 \r\n,统一用 \n;HTML 邮件暂不支持,

isHTML
参数在 MAUI 中不可控;
想指定邮箱账号? 不行。MAUI 的
IEmail
不控制账户选择,完全交由系统邮件 App 处理;
要后台静默发送? MAUI 原生不支持。如需此能力,得改用平台原生 API(如 iOS 的
MFMailComposeViewController
)+ 自定义平台实现。

基本上就这些。不需要配服务器、不涉及权限声明(iOS/Android 均无需额外

info.plist
AndroidManifest.xml
配置),轻量又安全。

相关推荐