summaryrefslogtreecommitdiff
path: root/lib/Config/ClawsMail/Account.pm
diff options
context:
space:
mode:
authorGianni Ceccarelli <gianni.ceccarelli@broadbean.com>2023-06-22 09:31:31 +0100
committerGianni Ceccarelli <gianni.ceccarelli@broadbean.com>2023-06-22 09:31:31 +0100
commitbdde70ae5b4ce272946f1b7bcad3fcc1581f4bdc (patch)
treea2048e53fab867589b0066eeff15fe2a86d1eb14 /lib/Config/ClawsMail/Account.pm
parentcope with other account types/protocols (diff)
downloadconfig-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.pm17
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,
) : () )
);
}