Inviare email in Dart con SMTP

Mattepuffo's logo
Inviare email in Dart con SMTP

Inviare email in Dart con SMTP

Oggi vediamo come inviare una email in Dart usando SMTP.

Ovviamente dovete avere i parametri del vostro provider; qui mi limiterò a delle voci generiche.

Cominciamo insallando la libreria, aggiungendo la dipendenza al file pubspec.yaml:

dependencies:
  mailer: any

Oppure usando il comando:

$ dart pub add mailer

Fatto questo vediamo un esempio di codice:

import 'package:mailer/mailer.dart';
import 'package:mailer/smtp_server.dart';

main() async {
  String username = 'username@gmail.com';
  String password = 'password';

  final smtpServer =
      SmtpServer('smtp.com', username: username, password: password);

  final message = Message()
    ..from = Address(username, 'NOME')
    ..recipients.add('email@email.com')
    ..ccRecipients.addAll(['cc1@email.com', 'cc2@email.com'])
    ..bccRecipients.add(Address('bcc@email.com'))
    ..subject = 'Invio email di teste alle ${DateTime.now()}'
    ..html = "<h1>Test</h1>n<p>Ciao, questa email è una prova da Dart!</p>";

  try {
    final sendReport = await send(message, smtpServer);
    print('Messaggio inviato: ' + sendReport.toString());
  } on MailerException catch (e) {
    print('Messaggio non inviato');
    for (var p in e.problems) {
      print('Errore: ${p.code}: ${p.msg}');
    }
  }
}

Enjoy!


Condividi

Commentami!