launchEmail method

Future<bool> launchEmail({
  1. String? subject,
  2. String? body,
})

Implementation

Future<bool> launchEmail({String? subject, String? body}) async {
  if (this == null || this!.isEmpty) return false;
  final email = this!.trim();
  final params = <String, String>{};
  if (subject != null) params['subject'] = subject;
  if (body != null) params['body'] = body;
  final query = params.entries
      .map(
        (e) =>
            '${Uri.encodeComponent(e.key)}=${Uri.encodeComponent(e.value)}',
      )
      .join('&');
  return _safeLaunch(
    'mailto:$email${query.isEmpty ? '' : '?$query'}',
    mode: LaunchMode.platformDefault,
  );
}