Cataly...e::IMAP(3pm)
π Catalyst::Authentication::Store::IMAP π
okay bestie, so this is the manual page for Cataly...e::IMAP(3pm) β yes the name is literally abbreviated like that in the wild, it's giving "we ran out of room on the shelf" energy, iconic behavior honestly. Sit down, grab a strawberry π, and let me tell you about this absolute gem of a module.
β¨ NAME β¨
Catalyst::Authentication::Store::IMAP β an authentication store that goes and talks to an IMAP server. That's it, that's the vibe. π
π¦ SYNOPSIS π¦
here's the whole setup, copied exactly so you can paste it and go:
use Catalyst qw(
Authentication
);
__PACKAGE__->config(
'authentication' => {
default_realm => "imap",
realms => {
imap => {
credential => {
class => "Password",
password_field => "password",
password_type => "self_check",
},
store => {
class => 'IMAP',
host => 'localhost',
},
},
},
},
);
sub login : Global {
my ( $self, $c ) = @_;
$c->authenticate({
id => $c->req->param("login"),
password => $c->req->param("password")
});
$c->res->body("Welcome " . $c->user->username . "!");
}
like. look at it. default_realm => "imap", realms nested inside realms, self_check doing its lil thing β it's a whole ecosystem and honestly it slays. π
πΈ DESCRIPTION πΈ
so basically, this plugin implements the Catalyst::Authentication v.10 API. and like, fr fr, if you're upgrading from a previous version of this plugin, read that documentation first β past you and present you will thank you, no cap. π
it uses Mail::IMAPClient to let your application authenticate against an IMAP server. and here's the cute part: the IMAP client object it uses gets stored on the stash as imapclient, so other components in your app can just grab it and use it too. sharing is caring, periodt. π«Ά
π CONFIGURATION OPTIONS π
π host
sets the host name (or IP address, whatever, both are valid) of the IMAP server you're connecting to.
π port
optionally set the port to connect to. the default is 143.
π¨ real talk bestie: if you specify port993, thenIO::Socket::SSLwill be used for connecting. so yes, that's the secure one. slay. π₯
π ATTRIBUTES π
π host
the host name used to connect to. yes it's the same name as the config option, no they're not gaslighting you, that's just how it is. π
β METHODS β
newfrom_sessionfind_user
that's the list, babe. all three of them, right there, nothing more to see. β¨
π SEE ALSO π
Catalyst::Authentication::Store::IMAP::UserCatalyst::Plugin::AuthenticationMail::IMAPClient
go read them, iykyk. π
π AUTHORS π
Stefan Seifert <nine@cpan.org>
shoutout to Stefan, absolute legend, we love to see it. π
π§ LICENSE π§
This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself. so like, free as in free, bestie. do your thing, just keep the terms the same. π
and that's the whole page, mwah π β brought to you by perl v5.40.1 and dated 2025-03-02. go authenticate something, main character. π¦β¨
π¦ where this page comes from
- debian trixie: ciderwebmail 1.05+20240702-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: ciderwebmail 1.05+20240702-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms