diff options
author | Gianni Ceccarelli <gianni.ceccarelli@broadbean.com> | 2023-06-22 09:31:31 +0100 |
---|---|---|
committer | Gianni Ceccarelli <gianni.ceccarelli@broadbean.com> | 2023-06-22 09:31:31 +0100 |
commit | bdde70ae5b4ce272946f1b7bcad3fcc1581f4bdc (patch) | |
tree | a2048e53fab867589b0066eeff15fe2a86d1eb14 /lib/Config/ClawsMail/Account.pm | |
parent | cope with other account types/protocols (diff) | |
download | config-clawsmail-bdde70ae5b4ce272946f1b7bcad3fcc1581f4bdc.tar.gz config-clawsmail-bdde70ae5b4ce272946f1b7bcad3fcc1581f4bdc.tar.bz2 config-clawsmail-bdde70ae5b4ce272946f1b7bcad3fcc1581f4bdc.zip |
handles new claws encryption
Diffstat (limited to 'lib/Config/ClawsMail/Account.pm')
-rw-r--r-- | lib/Config/ClawsMail/Account.pm | 17 |
1 files changed, 11 insertions, 6 deletions
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, ) : () ) ); } |