def getdate(msg): if not 'date' in msg: return None datehdr = msg['date'].strip() try: return Utils.mktime_tz(Utils.parsedate_tz(datehdr)) except: return None
def getdate(msg): if not 'date' in msg: return None datehdr = msg['date'].strip() try: return Utils.mktime_tz(Utils.parsedate_tz(datehdr)) except: return None
def getdate(msg): """Returns the date/time from msg in seconds-since-epoch, if possible. Otherwise, returns None.""" if not 'date' in msg: # No Date header present. return None datehdr = msg['date'].strip() try: return Utils.mktime_tz(Utils.parsedate_tz(datehdr)) except: # Some sort of error occured, likely because of an invalid date. return None
def getdate(msg): """Returns the date/time from msg in seconds-since-epoch, if possible. Otherwise, returns None.""" if not 'date' in msg: # No Date header present. return None datehdr = msg['date'].strip() try: return Utils.mktime_tz(Utils.parsedate_tz(datehdr)) except: # Some sort of error occured, likely because of an invalid date. return None
def __getMailMessage(self, addNewLine=False): view = self.view m = Mail.MailMessage(itsView=view) m.fromAddress = Mail.EmailAddress.getEmailAddress(view, "*****@*****.**") toOne = Mail.EmailAddress.getEmailAddress(view, "*****@*****.**") toTwo = Mail.EmailAddress.getEmailAddress(view, "*****@*****.**", "John Johnson") m.toAddress = [] m.toAddress.append(toOne) m.toAddress.append(toTwo) ccOne = Mail.EmailAddress.getEmailAddress(view, "*****@*****.**") m.ccAddress = [] m.ccAddress.append(ccOne) m.subject = "test mail" if addNewLine: m.subject += "\n" m.headers['Content-Length'] = "75" m.headers['Content-Type'] = "text/plain; charset=utf-8; format=flowed" m.headers['Content-Transfer-Encoding'] = "7bit" m.headers['Mime-Version'] = "1.0" m.headers['Received'] = "from [192.168.101.37] (w002.z065106067.sjc-ca.dsl.cnc.net [65.106.67.2]) by kahuna.test.com (8.12.8/8.12.8) with ESMTP id i7GKWWpo017020; Mon, 16 Aug 2004 13:32:32 -0700" m.headers['References'] = "<*****@*****.**> <*****@*****.**> <*****@*****.**> <*****@*****.**>" dateString = "Mon, 9 Aug 2004 13:55:15 -0700" m.dateSent = datetime.fromtimestamp(emailUtils.mktime_tz(emailUtils.parsedate_tz(dateString)), view.tzinfo.getInstance("Etc/GMT-7")) m.dateSentString = dateString m.itsItem.body = u"This is the body" if not IGNORE_ATTACHMENTS: m.rfc2822Message = utils.dataToBinary(m, "rfc2822Message", self.__mail) self.__mailMessage = m return self.__mailMessage
def init_headers(self): from email import Header, Errors, Utils self.headers = [] self.title = None for h in self.msg.keys(): for s in (self.msg.get_all(h) or []): if not s: continue v = decode_header(s) self.headers.append((h, v)) if h.lower() == 'date': try: self.mtime = int(Utils.mktime_tz(Utils.parsedate_tz(v))) except (TypeError, ValueError, OverflowError): pass elif h.lower() == 'subject': self.title = v if not self.title: fname = self.msg.get_filename() if fname: self.title = decode_header(fname) return
def get_message_date(msg): try: return int(Utils.mktime_tz(Utils.parsedate_tz(msg['date']))) except: return 0
if err.code == 304: self.method = "If-modified-since" self.ratio = 0 return else: self.method = "Error %d" % err.code return except urllib2.URLError: self.method = "Error URL" return except socket.timeout: self.method = "Error timeout" return if "last-modified" in f.info(): date = Utils.mktime_tz( Utils.parsedate_tz(f.info()["last-modified"])) if date == self.date: self.method = "Last-modified" self.ratio = 0 return else: date = time.time() if "content-length" in f.info(): length = f.info()["content-length"] if length == self.length: self.method = "Content-length" self.ratio = 0 return else: self.length = length
print '***Header in massage: ' for header, value in msg.items(): print header + ':' print " " + value if msg.is_multipart(): print 'this program can not handler MIME multipart message!' sys.exit(-1) #特定头 print '-'*60 if 'subject' in msg: print 'Subject: ', msg['subject'] print '-'*60 print 'Message Body: \n' print msg.get_payload() #解析日期 print '-'*60 if 'date' not in msg: exit(-1) datehdr = msg['date'].strip() print datehdr dateval = Utils.mktime_tz(Utils.parsedate_tz(datehdr)) print dateval print 'Message was sent on', time.strftime("%A, %B %d %Y at %I:%M %p", time.localtime(dateval))
def get_message_date(msg): try: return int(Utils.mktime_tz(Utils.parsedate_tz(msg["date"]))) except: return 0