Sponsored Content
Top Forums Shell Programming and Scripting perl (conky) and gmail/IMAP unread message count Post 302337795 by gxmsgx on Saturday 25th of July 2009 09:28:55 AM
Old 07-25-2009
perl (conky) and gmail/IMAP unread message count

Hi all,
I use Conky monitor (Conky - Home) for my laptop and I needed a script to see the count of new messages on gmail/IMAP, then I made this small perl script
(I hope they can be useful to someone Smilie)

gimap.pl
Code:
#!/usr/bin/perl

# gimap.pl by gxmsgx
# description: get the count of unread messages on gmail imap

use strict;
use Mail::IMAPClient;
use IO::Socket::SSL;

my $username = 'example.username'; # example.username@gmail.com
my $password = 'password123';

my $socket = IO::Socket::SSL->new(
   PeerAddr => 'imap.gmail.com',
   PeerPort => 993,
  )
  or die "socket(): $@";

my $client = Mail::IMAPClient->new(
   Socket   => $socket,
   User     => $username,
   Password => $password,
  )
  or die "new(): $@";

if ($client->IsAuthenticated()) {
    my $msgct;

    $client->select("INBOX");
    $msgct = $client->unseen_count||'0';
    print "$msgct\n";
}

$client->logout();

on crontab:
Code:
* * * * * ~/scripts/gimap.pl > ~/.email/gimap.ct

on conky file configuration (~/.conky/conky.conf):
Code:
${color1}E-mail: ${color2}gmail ${color1}(imap): ${color3}${execi 20 cat ~/.email/gimap.ct} ${color2}new

conky screenshot:
Image

Last edited by gxmsgx; 07-25-2009 at 11:38 AM..
This User Gave Thanks to gxmsgx For This Post:
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Mark messages as unread

Hi Does anyone know how to mark messages as unread either in Pine or from a Terminal or some such ? Thanks, James (1 Reply)
Discussion started by: Rylann
1 Replies

2. UNIX for Dummies Questions & Answers

fetchmail imap gmail certificate

Guys, could you tell me how to create an imap gmail ssl certificate? in my .fetchmailrc file I have poll imap.gmail.com protocol IMAP user "xxxxx@gmail.com" there with password "xxxx" nofetchall keep ssl but I'm getting an error fetchmail: Server certificate verification error:... (13 Replies)
Discussion started by: c19h28O2
13 Replies

3. Shell Programming and Scripting

Shell script to manipulate a message count for the same IP @ diff session

I have a file as like below, 10:20:30.45 START 10.20.30.40 10:20:31.46 HELLO 10.20.30.40 10:20:32.46 START 10.20.30.41 10:20:33.44 END 10.20.30.40 10:20:35.44 HELLO 10.20.30.41 10:20:36.56 HELLO 10.20.30.41 10:20:37.78 HELLO 10.20.30.41 10:20:38.99 START 10.20.30.40... (1 Reply)
Discussion started by: gobinath
1 Replies

4. Post Here to Contact Site Administrators and Moderators

Does replying to your own message count as an additional post?

There used to be a feature whereby when one would reply to one's own post the response would be added to the previous post as opposed to posted as an additional post. This seems to have been lifted, ie a reply to one's own post is in fact an additional post. What exactly is the rule? And is it true... (2 Replies)
Discussion started by: figaro
2 Replies

5. UNIX for Dummies Questions & Answers

Pine continuously marks old messages as unread

Hi, I have been having problem with pine for the past few weeks. I use email clinet Thunderbird to view my emails. Every time I open the thunderbird, all my emails were marked as unread. So, I logged into our email server to see what's wrong. even when I opened pine, all messages are labeled as... (0 Replies)
Discussion started by: veepine
0 Replies

6. UNIX for Dummies Questions & Answers

How to see unread e-mails only in Alpine?

Does anyone have any idea how to see only unread (new) e-mails in the Alpine client when using IMAP? I finally have a fast IMAP client, but don't want to go over all the e-mails I've already read through other clients... Thanks in advance for any hints. ---------- Post updated at 01:21 PM... (0 Replies)
Discussion started by: JamesR404
0 Replies

7. Linux

CrunchBang: Conky stops updating

Hey I have a problem in CrunchBang with Conky (I user openBox as DE) When I open OpenOffice and it only happens with openOffice, the Conky stops updating every 5th second, and I can acctualy understand why 'cause even if I reset Conky it will not update, I have to sudo halt - not even sudo reboot... (0 Replies)
Discussion started by: looop
0 Replies

8. Shell Programming and Scripting

shell script for conky getting errors....

So I have a script that does a greater than or less than with a variable. My problem is that when I checked the script from the command line I was getting this error.. I am not really familiar with shell scripting. I am trying to get this script to work with conky so that it will do the... (8 Replies)
Discussion started by: krisdeniseriley
8 Replies

9. Emergency UNIX and Linux Support

Find Unread Files

Hi I have requirement to read only unread files from the directory and load into database. Scenario: I do receive bunch of files into my unix directory for every 15 mins. My ETL Process every once in a day and reads the files and loads into db table. I cannot move these file into different... (9 Replies)
Discussion started by: cnrj
9 Replies
Mail::Server::IMAP4::Fetch(3pm) 			User Contributed Perl Documentation			   Mail::Server::IMAP4::Fetch(3pm)

NAME
Mail::Server::IMAP4::Fetch - message info for IMAP protocol speed-up SYNOPSIS
my $imap = Mail::Server::IMAP4::Fetch->new($msg); print $imap->fetchBody(1); # for FETCH BODYSTRUCTURE print $imap->fetchBody; # for FETCH BODY print $imap->fetchEnvelope; # for FETCH ENVELOPE print $imap->fetchSize; DESCRIPTION
Create a new object hierarchy, which contains information to capture the most important details about the message. The object can be used to speed-up IMAP-server implementations, as Mail::Box::Netzwert. The object used here is a simplified representation of a Mail::Box::Message object. It does not maintain headers and does not refer to the folder. It only works with messages stored in a file. Therefore, this object can be frozen by Storable if you want to. METHODS
Constructors Mail::Server::IMAP4::Fetch->new(MESSAGE|PART, OPTIONS) -Option --Default md5checksums 0 md5checksums => BOOLEAN Attributes $obj->bodyLocation() $obj->headLocation() $obj->partLocation() IMAP Commands $obj->fetchBody(EXTENDED) Returns one string, representing the message's structure as defined by the IMAP protocol. The boolean argument indicates whether you like to have the EXTENDED information, as the imap command 'FETCH BODYSTRUCTURE' defines or the limited information of 'FETCH BODY'. $obj->fetchEnvelope() Returns a string representation of some header information. $obj->fetchSize() Returns the size of the message body. $obj->part([PARTNR]) The partnummer is a list of dot-separated positive integers, numbering (nested) parts in multi-part message bodies. By default, the info of the main message is returned. example: my $partinfo = $msg->info->part('1.2.1'); print $msg->info->part('3.3')->fetchBody; $obj->printStructure([FILEHANDLE|undef, [NUMBER]]) Print the structure of the fetch data to the specified FILEHANDLE or the selected filehandle. When explicitly "undef" is specified as handle, then the output will be returned as string. Only a limited set of the information is displayed. example: my $imap = ...; $imap->printStructure(*OUTPUT); $imap->printStructure; my $struct = $imap->printStructure(undef); Internals DETAILS
See RFC2060: "Internet Message Access Protocol IMAP4v1" section 7.4.2 RFC2045: "MIME Part One: Format of Internet Message Bodies". SEE ALSO
This module is part of Mail-Box distribution version 2.105, built on May 07, 2012. Website: http://perl.overmeer.net/mailbox/ LICENSE
Copyrights 2001-2012 by [Mark Overmeer]. For other contributors see ChangeLog. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html perl v5.14.2 2012-05-07 Mail::Server::IMAP4::Fetch(3pm)
All times are GMT -4. The time now is 10:22 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy