Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev3.0.3

flutter_mailer

Compartilhe um e-mail com o dispositivo E-mail - Cliente suporta múltiplos anexos

AndroidiOS
Downloads em 30 dias
28,5 mil
Curtidas
92
Pontos Pub
160

Instalar pacote

flutter pub add flutter_mailer

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

O Flutter Mailer é um pacote do Flutter que permite aos usuários compartilhar e-mails diretamente do aplicativo para o cliente de e-mail padrão do dispositivo. Ele suporta o envio de e-mails com múltiplos anexos, tornando-o ideal para compartilhar documentos, imagens ou outros arquivos. O pacote se integra perfeitamente às plataformas Android e iOS, aproveitando intenções nativas de e-mail para garantir compatibilidade e confiabilidade. Simplifica o processo de iniciar uma tela de composição de e-mail com destinatários pré-definidos, assunto, corpo e anexos.

Casos de uso

  • Compartilhando documentos dentro de um aplicativo
  • Enviando bilhetes de suporte com anexos
  • Distribuir relatórios ou recibos
  • Habilitar feedback do usuário por e-mail
  • Automatizando fluxos de trabalho de e-mail em aplicativos

Principais recursos

  • Suporta vários anexos de arquivos
  • Usa clientes nativos de e-mail no Android e no iOS
  • API simples para composição de e-mails
  • Compatibilidade multiplataforma
  • Campos de e-mail configuráveis (para, assunto, corpo)

Indicado para

  • Aplicativos que precisam de funcionalidade de compartilhamento por e-mail
  • Aplicações baseadas em documentos
  • integrações de suporte ao cliente
  • Ferramentas de relatórios ou análise
  • distribuição de conteúdo gerado pelo usuário

Considerações

  • Depende do cliente de e-mail padrão do usuário
  • Nenhum envio direto de e-mail sem interação do usuário
  • Os limites de tamanho de anexo dependem do dispositivo e do sistema operacional
  • Requer permissões adequadas em alguns dispositivos
  • A composição de e-mails pode variar ligeiramente entre plataformas

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

flutter_mailer

pub package

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:

  • [x] android
  • [x] ios

Getting Started

Add to your pubspec dependencies, like so:

dependencies:
  flutter:
    sdk: flutter
  flutter_mailer: ^3.0.0

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;
}

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);
}

[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';
    }
  }
}

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

Categorias

Repositório-fonte

Projetos que usam este pacote