비슷한 질문에 my answer을 참조하십시오. 장고에 대한 이메일 파서를 시작하기위한 기본 코드가 모두 있습니다.
편집는 :
파이썬의 poplib
및 imaplib
들어오는 이메일을 처리하는 데 사용하는 jutda-helpdesk라는 응용 프로그램이있다 : 두번째 생각, 여기에 코드입니다. POP3 또는 IMAP 액세스가 가능한 어딘가에 계정이 있어야합니다.
이
은
get_email.py에서 적응 :
def process_mail(mb):
print "Processing: %s" % q
if mb.email_box_type == 'pop3':
if mb.email_box_ssl:
if not mb.email_box_port: mb.email_box_port = 995
server = poplib.POP3_SSL(mb.email_box_host, int(mb.email_box_port))
else:
if not mb.email_box_port: mb.email_box_port = 110
server = poplib.POP3(mb.email_box_host, int(mb.email_box_port))
server.getwelcome()
server.user(mb.email_box_user)
server.pass_(mb.email_box_pass)
messagesInfo = server.list()[1]
for msg in messagesInfo:
msgNum = msg.split(" ")[0]
msgSize = msg.split(" ")[1]
full_message = "\n".join(server.retr(msgNum)[1])
# Do something with the message
server.dele(msgNum)
server.quit()
elif mb.email_box_type == 'imap':
if mb.email_box_ssl:
if not mb.email_box_port: mb.email_box_port = 993
server = imaplib.IMAP4_SSL(mb.email_box_host, int(mb.email_box_port))
else:
if not mb.email_box_port: mb.email_box_port = 143
server = imaplib.IMAP4(mb.email_box_host, int(mb.email_box_port))
server.login(mb.email_box_user, mb.email_box_pass)
server.select(mb.email_box_imap_folder)
status, data = server.search(None, 'ALL')
for num in data[0].split():
status, data = server.fetch(num, '(RFC822)')
full_message = data[0][1]
# Do something with the message
server.store(num, '+FLAGS', '\\Deleted')
server.expunge()
server.close()
server.logout()
mb
가, 나머지는 꽤 명확해야 모든 메일 서버 정보를 저장하는 그냥 객체입니다.
메시지의 특정 부분을 얻으려면 poplib
및 imaplib
에있는 문서를 확인해야 할 것입니다.하지만이 방법을 사용하면 충분합니다.
중복 : http://stackoverflow.com/questions/484940/achieving-emailing-between-website-users-without-mailing-server-configuring/ –