flutter_mailer

Creator: coderz1093

Last updated:

Add to Cart

Description:

flutter mailer

flutter_mailer #

Share email content via device Email Client - supports multiple Attachments
Simple & quick plugin for cross application data sharing of email fields in mobile development.
Flutter Mailer example app
Supports: #

android
ios

Getting Started #
Add to your pubspec dependencies, like so:
dependencies:
flutter:
sdk: flutter
flutter_mailer: ^2.0.0

copied to clipboard
Instantiate mail options as follows:
send email #
import 'package:flutter_mailer/flutter_mailer.dart';

...
...

final MailOptions mailOptions = MailOptions(
body: 'a long body for the email <br> with a subset of HTML',
subject: 'the Email Subject',
recipients: ['example@example.com'],
isHTML: true,
bccRecipients: ['other@example.com'],
ccRecipients: ['third@example.com'],
attachments: [ 'path/to/image.png', ],
);

final MailerResponse response = await FlutterMailer.send(mailOptions);
switch (response) {
case MailerResponse.saved: /// ios only
platformResponse = 'mail was saved to draft';
break;
case MailerResponse.sent: /// ios only
platformResponse = 'mail was sent';
break;
case MailerResponse.cancelled: /// ios only
platformResponse = 'mail was cancelled';
break;
case MailerResponse.android:
platformResponse = 'intent was successful';
break;
default:
platformResponse = 'unknown';
break;
}

copied to clipboard
note gmail and other apps Might parse HTML out of the body.
[Android] check if app is installed. #
use full if you want to send the intent to a specific App.
returns false on [IOS]
const GMAIL_SCHEMA = 'com.google.android.gm';

final bool gmailinstalled = await FlutterMailer.isAppInstalled(GMAIL_SCHEMA);

if(gmailinstalled) {
final MailOptions mailOptions = MailOptions(
body: 'a long body for the email <br> with a subset of HTML',
subject: 'the Email Subject',
recipients: ['example@example.com'],
isHTML: true,
bccRecipients: ['other@example.com'],
ccRecipients: ['third@example.com'],
attachments: [ 'path/to/image.png', ],
appSchema: GMAIL_SCHEMA,
);
await FlutterMailer.send(mailOptions);
}

copied to clipboard
[IOS] check if device has the ability to send email #
this package uses MFMailComposeViewController for [IOS] which requires the default mail App.
if none is installed you might want to revert to use url_launcher
returns false on [Android]

final bool canSend = await FlutterMailer.canSendMail();

if(!canSend && Platform.isIos) {
final url = 'mailto:$recipient?body=$body&subject=$subject';
if (await canLaunch(url)) {
await launch(url);
} else {
throw 'Could not launch $url';
}
}
}

copied to clipboard
For help getting started with Flutter, view official online
documentation.
For help on editing plugin code, view the documentation.
based off of react-native-mail

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.