1
0
mirror of https://github.com/imapsync/imapsync.git synced 2024-11-17 00:02:29 +01:00
imapsync/oauth2/oauth2_imap_from_token
Nick Bebout f26b2573c3 2.140
2021-08-04 14:14:36 -05:00

36 lines
848 B
Perl
Executable File

#!/usr/bin/perl
use Mail::IMAPClient ;
use MIME::Base64;
my $access_token ;
$access_token = $ARGV[1];
my $username;
$username = $ARGV[0]; # "imapsync.gl0@gmail.com" ;
my $oauth_string = "user=" . $username . "\x01auth=Bearer ". $access_token . "\x01\x01" ;
print "oauth_string: $oauth_string\n" ;
#my $oauth_string_base64 = $access_token ;
my $oauth_string_base64 = encode_base64( $oauth_string , '' ) ;
print "oauth_string_base64: $oauth_string_base64\n" ;
my $imap = Mail::IMAPClient->new(
Server => 'imap.gmail.com',
Port => 993,
Ssl => 1,
Uid => 1,
Showcredentials => 1,
) or die("Can't connect to imap server.");
$imap->Debug(1) ;
$imap->authenticate('XOAUTH2', sub { return $oauth_string_base64 }) or die("Auth error: ". $imap->LastError);
print join(", ",$imap->folders),".\n" or die("List folders error: ". $imap->LastError);