首页 > 解决方案 > 发送邮件后的消息(mailer:flutter)

问题描述

我试图放一个弹出窗口甚至一个警报对话框来宣布消息是否发送。

目前我只有一个显示但在控制台中的打印.. 所以对用户没有用。

我怎样才能达到我的目标?

  sendMail() async {
    // Information connexion serveur smtp
    String username = 'xxx';
    String password = 'xxxx';
    String domainSmtp = 'xxx';

    final smtpServer = SmtpServer(domainSmtp,
        username: username, password: password, port: 587);

    //Création du message
    final message = Message()
      ..from = Address(username, '')
      ..recipients.add('xxxx')

      //..ccRecipients.addAll(['destCc1@example.com', 'destCc2@example.com'])
      //..bccRecipients.add(Address('bccAddress@example.com'))
      ..subject =
          "Demande ::  :: ${DateTime.now()}"
      ..text = ''
      ..html =
          "<h1>Nom: ${nomController.text} <p></p> Prénom: ${prenomController.text} <p></p> Email: ${emailController.text}</h1> <img src=\"data:images/Logo_fini2.1.png>  \n<p></p>";

    try {
      final sendReport2 = await send(message, smtpServer);
      var connection = PersistentConnection(smtpServer);
      await connection.send(message);
      await connection.close();
      print('Message envoyé: ' + sendReport2.toString());
    } on MailerException catch (e) {
      print('cMessage envoyé.');
      for (var p in e.problems) {
        print('Probleme: ${p.code}: ${p.msg}');
      }
    }
  }
}

标签: flutterdartmailer

解决方案


我设法用fluttertoast解决了我的问题。 https://pub.dev/packages/fluttertoast

目前我正在寻找添加一个图标..如果你有一个想法我是一个接受者。

try {
  final sendReport2 = await send(message, smtpServer);
  print('Message envoyé: ' + sendReport2.toString());
  Fluttertoast.showToast(
      msg: "Demande envoyé avec succes",
      toastLength: Toast.LENGTH_SHORT,
      gravity: ToastGravity.BOTTOM,
      timeInSecForIosWeb: 1,
      backgroundColor: Colors.green,
      textColor: Colors.white,
      fontSize: 16.0);
} on MailerException catch (e) {
  print('cMessage envoyé.');
  for (var p in e.problems) {
    Fluttertoast.showToast(
        msg: "Erreur",
        toastLength: Toast.LENGTH_SHORT,
        gravity: ToastGravity.CENTER,
        timeInSecForIosWeb: 1,
        backgroundColor: Colors.red,
        textColor: Colors.white,
        fontSize: 16.0);
    print('Probleme: ${p.code}: ${p.msg}');
  }
}

推荐阅读