2010年04月16日 星期五 16:16
如题! ########views.py #coding:utf-8 import sys from django.shortcuts import render_to_response import email from email.mime.text import MIMEText import os import poplib import smtplib import string host = '211.147.247.183' user = 'username在myhost.com' passwd = 'password' def index(request): #show mail index page return render_to_response('mail/index.html', locals()) def send(request): #show mail index page mail_to = request.POST.get('mail_to', '') mail_subject = request.POST.get('mail_subject', '') mail_content = request.POST.get('mail_content', '') return render_to_response('mail/send.html', locals()) def check(request): global host, user, passwd p = poplib.POP3(host) p.set_debuglevel(1) p.user(user) p.pass_(passwd) ret = p.stat() msgs = [] for i in range(ret[0], 0, -1): hdr, message, octet = p.retr(i) mail = email.message_from_string(string.join(message, '\n')) subject = mail['subject'] encode_type = mail.get_content_charset() mail_subject = unicode(email.Header.decode_header(subject)[0][0], encode_type).encode('utf-8') #mail_message = unicode(mail.get_payload(), encode_type).encode('utf-8') msg = {} for j in mail.keys(): msg[j] = mail[j] msg['id'] = i msg['Subject'] = mail_subject #msg.setdefault('Subject',mail_subject) msgs.append(msg) return render_to_response('mail/check.html', locals()) # check.htmlCheck mail Mail List
Date | Subject | From | To | Reply-To |
---|---|---|---|---|
{{msg.Date}} | {{msg.Subject}} | {{msg.From}} | {{msg.To}} | {{msg.Reply-To}} |
2010年04月16日 星期五 18:36
Carson Li wrote: > > 问题 出在{{msg.Reply-To}} 这里。报错: > > In template /var/www/public/templates/mail/check.html, error at line 17 > Could not parse the remainder: '-To' from 'msg.Reply-To' > key中最好不含"-"。 如果非要这样,可以写一个template filter或tag: 比如 @register.filter def dict_get(d, key): return d.get(key) {{ dictionary|dict_get:"key-name" }}
2010年04月17日 星期六 09:24
非常感谢 wu wei的帮助。使用自定义标签的确能够解决很多问题。 我突然想起我一直在php的smarty里用的filter, 原来道理都是一样的。 -- Carson. 在2010-04-16 18:36:55,"Wu Wei" <canri62在gmail.com> 写道: >Carson Li wrote: > >> >> 问题 出在{{msg.Reply-To}} 这里。报错: >> >> In template /var/www/public/templates/mail/check.html, error at line 17 >> Could not parse the remainder: '-To' from 'msg.Reply-To' >> > >key中最好不含"-"。 > >如果非要这样,可以写一个template filter或tag: >比如 > >@register.filter >def dict_get(d, key): > return d.get(key) > >{{ dictionary|dict_get:"key-name" }} -------------- 下一部分 -------------- 一个HTML附件被移除... URL: <http://www.zeuux.org/pipermail/zeuux-python/attachments/20100417/9e3727f3/attachment.html>
Zeuux © 2024
京ICP备05028076号