Hacking gmail computer

  • Số trang: 40 |
  • Loại file: PDF |
  • Lượt xem: 53 |
  • Lượt tải: 0
hoangtuavartar

Đã đăng 24635 tài liệu

Mô tả:

Hacking Gmail ™ Ben Hammersley Hacking Gmail ™ Hacking Gmail ™ Ben Hammersley Hacking Gmail™ Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 www.wiley.com Copyright © 2006 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN-13: 978-0-7645-9611-7 ISBN-10: 0-7645-9611-X Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 1B/RU/RS/QV/IN No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Legal Department, Wiley Publishing, Inc., 10475 Crosspoint Blvd., Indianapolis, IN 46256, (317) 572-3447, fax (317) 572-4355, or online at http://www.wiley.com/go/permissions. Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Website is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Website may provide or recommendations it may make. Further, readers should be aware that Internet Websites listed in this work may have changed or disappeared between when this work was written and when it is read. For general information on our other products and services or to obtain technical support, please contact our Customer Care Department within the U.S. at (800) 762-2974, outside the U.S. at (317) 572-3993 or fax (317) 572-4002. Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. Library of Congress Cataloging-in-Publication Data Hammersley, Ben. Hacking Gmail / Ben Hammersley. p. cm. Includes index. ISBN-13: 978-0-7645-9611-7 (paper/website) ISBN-10: 0-7645-9611-X (paper/website) 1. Gmail (Electronic resource) 2. Electronic mail systems. 3. Internet programming. I. Title. TK5105.74.G55H36 2006 004.692—dc22 2005029719 Trademarks: Wiley and the Wiley logo are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affiliates, in the United States and other countries, and may not be used without written permission. ExtremeTech and the ExtremeTech logo are trademarks of Ziff Davis Publishing Holdings, Inc. Used under license. All rights reserved. Gmail is a trademark of Google, Inc. All other trademarks are the property of their respective owners. Wiley Publishing, Inc., is not associated with any product or vendor mentioned in this book. Meanwhile, back in Florence, Anna, Lucy, Mischa, and Pico ignored the swearing and kept me fed. Love, as ever, to them. About the Author Armed only with a PowerBook and some fine pipe tobacco, Ben Hammersley is a journalist, writer, explorer, and an errant developer and explainer of semantic web technology. He’s also liable to spread his dirty, dirty words over at The Guardian. As an Englishman of the clichéd sort, Ben’s angle brackets always balance, and his tweed is always pressed. He’s not worn trousers for six months now. Ask him about it sometime. Credits Executive Editor Chris Webb Project Coordinator Michael Kruzil Development Editor Brian Herrmann Graphics and Production Specialists Carrie A. Foster Lynsey Osborn Melanee Prendergast Technical Editor Justin Blanton Production Editor Kenyon Brown Quality Control Technicians Leeann Harney, Jessica Kramer, Charles Spencer, Brian H. Walls Copy Editor Nancy Rapoport Proofreading and Indexing TECHBOOKS Production Services Editorial Manager Mary Beth Wakefield Cover Design Anthony Bunyan Production Manager Tim Tate Vice President and Executive Group Publisher Richard Swadley Vice President and Executive Publisher Joseph B. Wikert Contents at a Glance Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Part I: Starting to Use Gmail . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Chapter 1: Desktop Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chapter 2: Integrating Your Existing Mail. . . . . . . . . . . . . . . . . . . . . . . . . . 11 Chapter 3: Gmail Power Tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Part II: Getting Inside Gmail . . . . . . . . . . . . . . . . . . . . . . . . . 27 Chapter 4: Skinning Gmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Chapter 5: How Gmail Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Chapter 6: Gmail and Greasemonkey . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Chapter 7: Gmail Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Chapter 8: Checking for Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Chapter 9: Reading Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Chapter 10: Sending Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 Part III: Conquering Gmail . . . . . . . . . . . . . . . . . . . . . . . . . 167 Chapter 11: Dealing with Labels . . . . . . . . . . . . . . . . . . . . . Chapter 12: Addressing Addresses . . . . . . . . . . . . . . . . . . . . Chapter 13: Building an API from the HTML-Only Version of Gmail. Chapter 14: Exporting Your Mail. . . . . . . . . . . . . . . . . . . . . Chapter 15: Using Gmail to . . . . . . . . . . . . . . . . . . . . . . . . Chapter 16: Using GmailFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 177 183 197 203 213 Appendix: Long Code Listings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 Contents Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Part I: Starting to Use Gmail 1 Chapter 1: Desktop Integration . . . . . . . . . . . . . . . . . . . . . . . . 3 New Mail Notification . . . . Windows . . . . . . . . Mac OS X . . . . . . . Linux, etc. . . . . . . . Redirecting mailto: . . . . . . Windows . . . . . . . . Multiplatform/Mozilla . OS X . . . . . . . . . . GmailerXP . . . . . . . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 5 5 6 7 7 8 8 9 Chapter 2: Integrating Your Existing Mail . . . . . . . . . . . . . . . . . . 11 Importing Your Mail into Gmail . . . Gmail Loader . . . . . . . . . . Setting Up Pop Access Inside Gmail . Setting Up Pop Within an Application IMAP for Gmail. . . . . . . . . . . . And Now . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 11 12 13 14 14 Chapter 3: Gmail Power Tips. . . . . . . . . . . . . . . . . . . . . . . . . 15 Keyboard Shortcuts . . . . . . . . Plus Addressing and Filtering . . . Other Addressing Tips . . . Quickly Mark a Group of E-Mails Send Executables as Attachments . Advanced Searching . . . . . . . . And Now . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 20 21 23 23 24 26 xii Contents Part II: Getting Inside Gmail 27 Chapter 4: Skinning Gmail . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Deconstructing Gmail . . . . . . . The Top Section . . . . . . The Navigation Menu . . . The Activity Area . . . . . . The Bottom Section . . . . Applying a New Style . . . . . . . Creating Gmail Lite . . . . . . . . Walking Through the Style Sheet . Removing Google’s Advertising . . And Now . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 33 35 38 42 44 44 45 51 51 Chapter 5: How Gmail Works . . . . . . . . . . . . . . . . . . . . . . . . 53 What the Devil Is Going On? . . . . . . . . . . . . . . . Preloading the Interface. . . . . . . . . . . . . . . Introducing XMLHttpRequest . . . . . . . . . . . . . . Using XMLHttpRequest Yourself . . . . . . . . . Finding XMLHttpRequest within the Gmail code Sniffing the Network Traffic. . . . . . . . . . . . . . . . Firing Up Tcpflow . . . . . . . . . . . . . . . . . Prodding Gmail to Hear It Squeak . . . . . . . . . . . . Preparing to Watch the Gmail Boot Sequence . . . Cleaning Up the Log . . . . . . . . . . . . . . . . Stepping Through the Gmail Boot Sequence . . . . . . . Logging In . . . . . . . . . . . . . . . . . . . . . The First Cookie . . . . . . . . . . . . . . . . . . Loading the Inbox . . . . . . . . . . . . . . . . . Reading an Individual Mail . . . . . . . . . . . . . And Now . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 54 55 55 61 62 62 67 67 68 68 69 71 74 81 89 Chapter 6: Gmail and Greasemonkey . . . . . . . . . . . . . . . . . . . . 91 What Is Greasemonkey?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 The Userscripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Displaying Bloglines Within Gmail . . . . . . . . . . . . . . . . . . . . . . 92 How It Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Add a Delete Button. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 GmailSecure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 MailtoComposeInGmail . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Other Userscripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Mark Read Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Multiple Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Hide Invites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Random Signatures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Contents Chapter 7: Gmail Libraries . . . . . . . . . . . . . . . . . . . . . . . . . 117 PHP — Gmailer . . . . . . . . . . . . . . . . . . Getting and Installing the Library. . . . . . How to Use It . . . . . . . . . . . . . . . . Perl — Mail::Webmail::Gmail . . . . . . . . . . . Getting and Installing the Library. . . . . . Using the Library . . . . . . . . . . . . . . Python — Libgmail . . . . . . . . . . . . . . . . Getting and Installing the Library. . . . . . How to Use It . . . . . . . . . . . . . . . . Reading the First Message in the Inbox . . . Setting Yourselves Up for the Remaining Chapters And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 118 119 127 127 128 131 131 132 134 135 136 Chapter 8: Checking for Mail . . . . . . . . . . . . . . . . . . . . . . . . 137 The Basics in Perl . . . . . . . . . . . . . . . . . . The Basics in PHP . . . . . . . . . . . . . . . . . . The Basics in Python . . . . . . . . . . . . . . . . . Building on the Basics . . . . . . . . . . . . . . . . New Mail Count in RSS . . . . . . . . . . . New Mail Count to AOL Instant Messenger . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 139 140 142 142 144 149 Chapter 9: Reading Mail . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Reading Mail with Perl. . . . . . . . . . . . . . . . . . . The Basics . . . . . . . . . . . . . . . . . . . . . . Accessing All the Data of a Message . . . . . . . . Listing the Mail and Displaying a Chosen Message Dealing with Attachments. . . . . . . . . . . . . . Making an RSS Feed of Your Inbox . . . . . . . . . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 151 152 153 155 155 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 . Setting New Labels. . . . . Creating a New Label Removing Labels . . . . . . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 173 175 175 176 xiii xiv Contents Chapter 12: Addressing Addresses . . . . . . . . . . . . . . . . . . . . . 177 The Contacts List . . . . . . . . Importing Contacts. . . . . . . . Showing Your Current Contacts . Exporting Contacts. . . . . . . . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 178 180 181 182 Chapter 13: Building an API from the HTML-Only Version of Gmail . . . 183 A First Look at the HTML Version . Introducing Basic Scraping . . . . . . HTML::TokeParser . . . . . . Parsing the Inbox . . . . . . . Retrieving the Individual Page. Dealing with Threads . . . . . Dealing with Other Folders . . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 186 186 188 192 195 195 196 Chapter 14: Exporting Your Mail . . . . . . . . . . . . . . . . . . . . . . 197 Exporting as a Massive Text File . Converting to Mbox . . . . . . . Appending to IMAP . . . . . . . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 199 200 201 Chapter 15: Using Gmail to . . . . . . . . . . . . . . . . . . . . . . . . . 203 Using Gmail as a To-Do List . . . . . . . . . . Using Filters . . . . . . . . . . . . . . . . Using gmtodo . . . . . . . . . . . . . . . Using Gmail to Find Information in RSS Feeds. Using Gmail to Find Torrent Files . . . . Using Gmail as a Notepad . . . . . . . . . . . . Using Gmail as a Spam Filter . . . . . . . . . . An Even Simpler Way of Doing It . . . . Using Gmail as Storage for a Photo Gallery . . . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 203 205 205 206 207 209 210 210 211 Chapter 16: Using GmailFS . . . . . . . . . . . . . . . . . . . . . . . . . 213 The Underlying Idea . . . . . . . . . . . . . . . . . Installing GmailFS . . . . . . . . . . . . . . . . . . The Correct Python . . . . . . . . . . . . . . Installing FUSE . . . . . . . . . . . . . . . . Installing Libgmail. . . . . . . . . . . . . . . Installing GmailFS . . . . . . . . . . . . . . Using GmailFS . . . . . . . . . . . . . . . . . . . . Mounting GmailFS from the Command Line Mounting GmailFS from fstab . . . . . . . . Passing Commands to the File System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 213 213 215 215 215 216 216 217 217 Contents How GmailFS Works . . . . . . . . . . . What Makes Up a File? . . . . . . . Representing All of This in E-Mail . The Actual Data in Action . . . . . And Now . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 218 220 220 221 Appendix: Long Code Listings . . . . . . . . . . . . . . . . . . . . . . . 223 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 xv Acknowledgments Books of this nature are tremendously difficult to write. Without support from Google (we didn’t ask, admittedly) and with Gmail being in perpetual Beta throughout the writing process, we often found ourselves with chapters being made obsolete overnight. Deadlines passed, were rescheduled, passed again. Editors wept salt tears. Publishers, that sainted breed, were patient and handsome and generally lovely. Chris Webb and Brian Herrmann, both of the Wiley clan, stood by the project so faithfully that their names will be forever legend. Men of the Far North will sing songs to their honor. Justin Blanton, the technical editor, managed to combine a Law Degree with the task: there’s not enough beer in the world to pay him back. Thanks to all of them, and everyone else at Wiley.
- Xem thêm -