Working
This commit is contained in:
parent
64dd38f7aa
commit
b9adcb205e
14 changed files with 274 additions and 214 deletions
27
lib/controllers/mail_client_controller.dart
Normal file
27
lib/controllers/mail_client_controller.dart
Normal file
|
@ -0,0 +1,27 @@
|
|||
import "dart:io";
|
||||
import "package:enough_mail/enough_mail.dart";
|
||||
import "package:nexusbot/controllers/settings_controller.dart";
|
||||
import "package:riverpod/riverpod.dart";
|
||||
|
||||
class MailClientController extends AsyncNotifier<MailClient> {
|
||||
@override
|
||||
Future<MailClient> build() async {
|
||||
final settings = ref.watch(SettingsController.provider)!;
|
||||
final account = MailAccount.fromManualSettings(
|
||||
email: settings.email,
|
||||
name: settings.mailName,
|
||||
incomingHost: settings.mailDomain,
|
||||
outgoingHost: settings.mailDomain,
|
||||
password: (await File(settings.smtpPasswordFile).readAsString()).trim(),
|
||||
);
|
||||
|
||||
final client = MailClient(account);
|
||||
await client.connect();
|
||||
return client;
|
||||
}
|
||||
|
||||
static final provider =
|
||||
AsyncNotifierProvider<MailClientController, MailClient>(
|
||||
MailClientController.new,
|
||||
);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue