[flutter] RaisedButton을 사용해 이메일 전송

이번 포스트에서는 Flutter에서 RaisedButton을 사용하여 간단한 이메일 전송 기능을 구현하는 방법에 대해 알아보겠습니다.

1. 패키지 설치

우리는 이메일 전송을 위해 mailer 패키지를 사용할 것입니다. 따라서 pubspec.yaml 파일에 다음과 같이 패키지를 추가해줍니다.

dependencies:
  flutter:
    sdk: flutter
  mailer: ^3.0.2

그리고 패키지를 설치하기 위해 터미널에서 아래 명령어를 실행합니다.

flutter pub get

2. 이메일 전송 코드 작성

이제 이메일 전송을 위한 코드를 작성해보겠습니다. 먼저 main.dart 파일을 열고 mailer 패키지를 가져옵니다.

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

이메일을 전송할 기능을 담당할 함수를 작성합니다. 이 함수는 RaisedButton 위젯에서 호출될 것입니다.

void sendEmail() async {
  String username = 'your_email@gmail.com'; // 본인의 이메일 주소 입력
  String password = 'your_password'; // 본인의 이메일 비밀번호 입력

  final smtpServer = gmail(username, password);

  final message = Message()
    ..from = Address(username)
    ..recipients.add('recipient_email@gmail.com') // 수신자 이메일 주소 입력
    ..subject = '테스트 이메일입니다' // 이메일 제목 입력
    ..text = '안녕하세요, 이메일을 보내는 테스트입니다'; // 이메일 본문 입력

  try {
    final sendReport = await send(message, smtpServer);
    print('이메일을 성공적으로 전송했습니다: ${sendReport.toString()}');
  } catch (e) {
    print('이메일 전송 실패: $e');
  }
}

3. RaisedButton 사용하기

이제 RaisedButton을 사용하여 이메일 전송 기능을 구현해보겠습니다. 메인 위젯 클래스인 MyApp에서 RaisedButton을 추가합니다.

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('이메일 전송'),
        ),
        body: Center(
          child: RaisedButton(
            onPressed: sendEmail, // sendEmail 함수 호출
            child: Text('이메일 전송하기'),
          ),
        ),
      ),
    );
  }
}

여기까지 코드를 작성했다면 이제 RaisedButton을 터치하면 이메일 전송이 이루어질 것입니다.

마치며

이번 포스트에서는 Flutter에서 RaisedButton을 사용하여 이메일 전송 기능을 구현하는 방법에 대해 알아보았습니다. mailer 패키지를 활용하여 간편하게 이메일을 전송할 수 있습니다.