FlutterでSMTPを使用してメールを送信する方法


  1. ライブラリのインストール: まず、pubspec.yamlファイルにmailerパッケージを追加します。以下のようにdependenciesセクションに記述します:
dependencies:
  flutter:
    sdk: flutter
  mailer: ^3.0.0

その後、ターミナルでflutter pub getコマンドを実行して、パッケージをインストールします。

  1. メール送信のコード例: 以下は、SMTPを使用してメールを送信するための基本的なコード例です。
import 'package:mailer/mailer.dart';
import 'package:mailer/smtp_server.dart';
void sendEmail() async {
  String username = '[email protected]';
  String password = 'your_password';
  final smtpServer = gmail(username, password);
  final message = Message()
    ..from = Address(username)
    ..recipients.add('[email protected]')
    ..subject = 'Hello Flutter'
    ..text = 'This is a test email sent from Flutter using SMTP';
  try {
    final sendReport = await send(message, smtpServer);
    print('Message sent: ' + sendReport.toString());
  } catch (e) {
    print('Error occurred: ' + e.toString());
  }
}

上記の例では、GmailのSMTPサーバーを使用してメールを送信しています。usernamepasswordには、実際のGmailのメールアドレスとパスワードを設定してください。また、recipientsには宛先のメールアドレスを指定します。

このコードを使用すると、FlutterアプリからSMTPを介してメールを送信することができます。

  1. 追加の設定: 一部のメールプロバイダーでは、セキュリティのためにSMTPサーバーへの接続にTLSまたはSSLが必要な場合があります。その場合は、smtpServerの初期化時に対応するSMTPサーバーオブジェクトを使用する必要があります。

例えば、Gmailの場合は以下のように設定します:

final smtpServer = gmail(username, password)
  ..useSsl = true;

他のメールプロバイダーの場合は、公式のドキュメントやサポートリソースを参照して、適切な設定を行ってください。

以上がFlutterでSMTPを使用してメールを送信する方法の基本的な手順です。これにより、Flutterアプリ内でメール送信機能を実装することができます。より詳細な設定やエラーハンドリングなど、さらに進んだ機能を追加する場合は、公式のドキュメントや関連するリソースを参照することをおすすめします。