Chapter 7: Gmail Libraries . . . . . . . . . . . . . . . . . . . . . . . . . 117
PHP — Gmailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Getting and Installing the Library. . . . . . . . . . . . . . . . . . . . . . . 118
How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Perl — Mail::Webmail::Gmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Getting and Installing the Library. . . . . . . . . . . . . . . . . . . . . . . 127
Using the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Python — Libgmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Getting and Installing the Library. . . . . . . . . . . . . . . . . . . . . . . 131
How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Reading the First Message in the Inbox . . . . . . . . . . . . . . . . . . . . 134
Setting Yourselves Up for the Remaining Chapters . . . . . . . . . . . . . . . . . 135
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Chapter 8: Checking for Mail . . . . . . . . . . . . . . . . . . . . . . . . 137
The Basics in Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
The Basics in PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
The Basics in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Building on the Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
New Mail Count in RSS . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
New Mail Count to AOL Instant Messenger . . . . . . . . . . . . . . . . . 144
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Chapter 9: Reading Mail . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Reading Mail with Perl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Accessing All the Data of a Message . . . . . . . . . . . . . . . . . . . . . 152
Listing the Mail and Displaying a Chosen Message . . . . . . . . . . . . . 153
Dealing with Attachments. . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Making an RSS Feed of Your Inbox . . . . . . . . . . . . . . . . . . . . . . 155
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Chapter 10: Sending Mail. . . . . . . . . . . . . . . . . . . . . . . . . . 161
Sending Mail with Gmail SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Sending Mail with Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Part III: Conquering Gmail
167
Chapter 11: Dealing with Labels . . . . . . . . . . . . . . . . . . . . . . 169
Listing the Existing Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Setting New Labels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Creating a New Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Removing Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
xiii
Contents
xiii
PHP — Gmailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Getting and Installing the Library. . . . . . . . . . . . . . . . . . . . . . . 118
How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Perl — Mail::Webmail::Gmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Getting and Installing the Library. . . . . . . . . . . . . . . . . . . . . . . 127
Using the Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Python — Libgmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Getting and Installing the Library. . . . . . . . . . . . . . . . . . . . . . . 131
How to Use It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Reading the First Message in the Inbox . . . . . . . . . . . . . . . . . . . . 134
Setting Yourselves Up for the Remaining Chapters . . . . . . . . . . . . . . . . . 135
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Chapter 8: Checking for Mail . . . . . . . . . . . . . . . . . . . . . . . . 137
The Basics in Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
The Basics in PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
The Basics in Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Building on the Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
New Mail Count in RSS . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
New Mail Count to AOL Instant Messenger . . . . . . . . . . . . . . . . . 144
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Chapter 9: Reading Mail . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Reading Mail with Perl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
The Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Accessing All the Data of a Message . . . . . . . . . . . . . . . . . . . . . 152
Listing the Mail and Displaying a Chosen Message . . . . . . . . . . . . . 153
Dealing with Attachments. . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Making an RSS Feed of Your Inbox . . . . . . . . . . . . . . . . . . . . . . 155
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Chapter 10: Sending Mail. . . . . . . . . . . . . . . . . . . . . . . . . . 161
Sending Mail with Gmail SMTP . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Sending Mail with Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Part III: Conquering Gmail
167
Chapter 11: Dealing with Labels . . . . . . . . . . . . . . . . . . . . . . 169
Listing the Existing Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Setting New Labels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Creating a New Label . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Removing Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
xiii
Contents
xiii
