mailto function
发送邮件
Implementation
Future<bool> mailto({
required String target, // 收件人邮箱
String? cc, // 抄送
String? bcc, // 密送
String? title, // 标题(部分邮箱可能不支持中文标题或乱码)
String? body, // 内容
}) async {
if (target.isEmptyOrNull()) {
return false;
}
Map<String, String> params = {};
if (!isEmptyOrNull(cc)) {
params['cc'] = cc!;
}
if (!isEmptyOrNull(bcc)) {
params['bcc'] = bcc!;
}
if (!isEmptyOrNull(title)) {
params['subject'] = title!.encodeUrl();
}
if (!isEmptyOrNull(body)) {
params['body'] = body!.encodeUrl();
}
Uri uri = Uri(
scheme: 'mailto',
path: target,
query: params.entries.map((MapEntry<String, String> e) => '${e.key}=${e.value}').join('&'),
);
bool result = await launchUrl(uri);
'Launch result: $result on ${uri.toString()}'.logI(tag: 'url_launcher_utils');
return result;
}