summaryrefslogtreecommitdiff
path: root/lib/Config/ClawsMail/Server.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Config/ClawsMail/Server.pm')
-rw-r--r--lib/Config/ClawsMail/Server.pm29
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/Config/ClawsMail/Server.pm b/lib/Config/ClawsMail/Server.pm
new file mode 100644
index 0000000..e3eefab
--- /dev/null
+++ b/lib/Config/ClawsMail/Server.pm
@@ -0,0 +1,29 @@
+package Config::ClawsMail::Server;
+use Moo;
+use Types::Standard qw(Str Enum);
+use Config::ClawsMail::Password;
+use namespace::clean;
+
+has [qw(host port)] => (
+ is => 'ro',
+ required => 1,
+ isa => Str,
+);
+
+has [qw(user_id password)] => (
+ is => 'ro',
+ isa => Str,
+);
+
+has ssl => (
+ is => 'ro',
+ isa => Enum[qw(no ssl starttls)],
+ default => sub { 'no' },
+);
+
+sub cleartext_password {
+ my ($self) = @_;
+ return Config::ClawsMail::Password::cleartext_password($self->password);
+}
+
+1;