How to open mail from flutter

To open an email from a Flutter app, you can use the mailto scheme and the launch function from the url_launcher package. Here's an example:

First, add the url_launcher package to your pubspec.yaml file:

dependencies:
  url_launcher: ^6.0.10

Then, import the package in your Dart file:

import 'package:url_launcher/url_launcher.dart';

Now, you can use the launch function to open an email:

void openEmail() async {
  final url = 'mailto:[email protected]?subject=Hello&body=This is a test email';
  if (await canLaunch(url)) {
    await launch(url);
  } else {
    throw 'Could not launch $url';
  }
}

In this example, the mailto scheme is used to create a URL that opens an email client with the specified recipient, subject, and body.

You can also use the mailto scheme with additional parameters, such as:

Here's an example with multiple parameters:

final url = 'mailto:[email protected]?subject=Hello&body=This is a test email&[email protected]&[email protected]&attachment=file.txt';

Make sure to replace [email protected] with the actual email address you want to open.

To call the openEmail function, simply use:

openEmail();

This will open the email client with the specified parameters. If the user has an email client installed on their device, it will be launched. If not, a message will be displayed asking the user to install an email client.

Note: The url_launcher package uses the canLaunch function to check if the URL can be launched. If the URL cannot be launched (e.g., because the user has no email client installed), the canLaunch function returns false, and the launch function throws an error.