[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sending out mails with caff (Was: DebConf18: Call for keys for keysigning in Hsinchu, Taiwan)



Hi,

(FWIW I'm the current maintainer for signing-party and upstream for
caff(1), and I'll attend DebConf.)

On Tue, 17 Jul 2018 at 09:15:25 +0900, Roger Shimizu wrote:
> I think you're using libnet-smtps-perl, which better to be mentioned
> as dependency.

caff doesn't send out mail on its own, it leaves the job to
Mail::Mailer(3pm), as mentioned in the manpage.  AFAIK the ‘smtps’
method calls Net::SMTP::SSL and Mail::Mailer doesn't interface with
Net::SMTPS.

Net::SMTP (which is a core module) can do SMTP over SSL (thereby
deprecating Net::SMTP::SSL) and also issue STARTTLS since v1.28.  For
SMTP over SSL, the following $CONFIG{'mailer-send'} should work:

    [ 'smtp'
    , Server => 'smtp.example.net'
    , SSL => 1
    , Auth => ['username', 'password']
    ]

And since the configuration file is just perl code, one can spawn a
command to retrieve the password instead.

Here is another example, with a custom EHLO keyword, envelope sender
address, port [0], and custom SSL options incl. client cert
authentication [1].

    [ 'smtp'
    , Server => 'smtp0.example.net'
    , SSL => 1
    , SSL_verifycn_name => 'smtp.example.net' # hostname verification
    , SSL_hostname => 'smtp.example.net'      # SNI
    , SSL_use_cert => 1
    , SSL_cert_file => $ENV{HOME}.'/.mail/smtp.crt'
    , SSL_key_file =>  $ENV{HOME}.'/.mail/smtp.key'
    , Hello => 'hi.there.org'
    , From => 'user@example.net'
    , Port => 465
    ]

In principle replacing ‘SSL => 1’ with ‘STARTTLS => 1’ would work for
STARTTLS, but unfortunately Mail::Mailer doesn't expose this yet.  I
guess I should file a bug as it's really a 3 lines patch :-)

Cheers,
-- 
Guilhem.

[0] https://perldoc.perl.org/Net/SMTP.html
[1] https://metacpan.org/pod/IO::Socket::SSL

Attachment: signature.asc
Description: PGP signature


Reply to: