From bdde70ae5b4ce272946f1b7bcad3fcc1581f4bdc Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Thu, 22 Jun 2023 09:31:31 +0100 Subject: handles new claws encryption --- lib/Config/ClawsMail/Account.pm | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'lib/Config/ClawsMail/Account.pm') diff --git a/lib/Config/ClawsMail/Account.pm b/lib/Config/ClawsMail/Account.pm index 2c538a2..f302a1d 100644 --- a/lib/Config/ClawsMail/Account.pm +++ b/lib/Config/ClawsMail/Account.pm @@ -1,10 +1,9 @@ package Config::ClawsMail::Account; +use v5.26; use Moo; # VERSION -use 5.020; use Types::Standard qw(Str InstanceOf); use Config::ClawsMail::Server; -use namespace::clean; # ABSTRACT: Claws-Mail account @@ -21,9 +20,15 @@ has [qw(imap smtp)] => ( my @ssl_string=qw(no ssl starttls); sub new_from_config { - my ($class,$config,$password) = @_; + my ($class,$args) = @_; + + my $config = $args->{account_config}; return unless $config->{protocol} eq '1'; + my $section = $args->{account_section}; + + my $password_store = $args->{password_store}; + my $imap_server = Config::ClawsMail::Server->new({ host => $config->{receive_server}, port => ( @@ -35,7 +40,7 @@ sub new_from_config { ), ssl => $ssl_string[$config->{ssl_imap}], %{$config}{qw(user_id)}, - password => $password->{recv}, + password => $password_store->password_for($section,'recv'), }); my $smtp_server = Config::ClawsMail::Server->new({ @@ -50,7 +55,7 @@ sub new_from_config { ssl => $ssl_string[$config->{ssl_smtp}], ( $config->{use_smtp_auth} ? ( user_id => $config->{smtp_user_id} || $config->{user_id}, - password => $password->{send} || $password->{recv}, + password => $password_store->password_for($section,'send') || $password_store->password_for($section,'recv') ) : () ), }); @@ -72,7 +77,7 @@ sub email_transport { ssl => $smtp->ssl, ( $smtp->user_id ? ( sasl_username => $smtp->user_id, - sasl_password => $smtp->cleartext_password, + sasl_password => $smtp->password, ) : () ) ); } -- cgit v1.2.3