오래된 메일 정리하기

다즐링의 이미지

사실 메인이메일을 gmail 로 옴긴지 한참 되었습니다.

하지만 기존 메일계정은 그대로 두고 있지요.
얼마전 아는 형님께서 이메일 보냈는데 왜 답이 없냐길레 ㅠㅠ
기존 이메일을 열기로 했습니다.

많이 두려웠죠. 일단 서버가 P3 듀얼 1기가에 하드는 pci 에 꼽은 sata 카드에 달려있는 200기가입니다.
imap 으로 쓰는데 쌓여 있는 메일은 ... ㅠㅠ

스팸필터링을 신뢰하지 않는 관계로 메일은 자주자주 제가 지워주는 스타일이어서 스팸필터링을 아예 달지 않았습니다.
그레이 리스팅과 spf 정도는 설정을 해주었습니다만 그래도 스팸이 꽤 들어오죠.

이제 메일을 열려고 윈도우에 선더버드 2.0 을 깔고 imap 을 열었습니다. 1시간동안 서버로드가 5-8을 헤메고 썬더버드는 아직 ㅎㄷㄷ 이러고 있더군요.
6시부터 12시까지 고생을 하다가 ( offline 으로 해서 삭제하고 싱크도 걸어보고 등등 )
포기하고 스크립트를 짜기 시작했습니다.
( 처리해야할 이메일은 14만통에 가깝습니다 )

그냥 한번 돌릴 스크립트로 만든것이니 코드의 질은 보장하지 않습니다;;;

import glob
import re, sys, os
from cStringIO import StringIO
 
from email.parser import Parser
from time import sleep
 
maildir = "/Maildir/cur/"
spamdir = "/Maildir/.Trash/new/"
 
 
maillist = glob.glob(maildir + "*")
e = Parser()
log = open("tempspam.log","a")
for amail in maillist:
        tmail = StringIO()
        old = amail
        amail = amail.replace(",","\,")
        amail = amail.replace(":","\:")
        amail = amail.replace("=","\=")
        tmail.write(os.popen("cat %s  | spamassassin" % amail).read())
        tmail.seek(0)
        msg = e.parse(tmail,True)
        if msg["X-Spam-Flag"] == "YES":
                try:
                        log.write("%s  %s  %s %s \n" % ( msg["subject"] , msg["sender"] , msg["Return-Path"] , old))
                except:
                        log.write(old + "\n")
                newpath = old.replace(maildir,spamdir)
                os.rename(old,newpath)
                log.flush()
        sleep(0.1)

쉽게 설명을 하면 스팸어세신을 불러서 메일을 집어넣고 헤더를 파싱해서 스팸이면 쓰레기통에 넣습니다.
그런데 써버가 느리다보니 ㅠㅠ 로드 1을 유지하면서 겨우 12시간동안 8000통을 처리했군요. 뭐.. 급한건 아니니까 1달내에는 처리하겠지요.

여러분은 오래된 메일계정을 어떤식으로 마이그레이션 하시나요?

그리고 웃긴점은 "발기" 로 검색해서 삭제하니.. 2만통이 날아가더군요 -_-;;;;

댓글

kirrie의 이미지

(php에서) gc안된 세션 파일 디렉토리 열때와, 1년 이상 방치해둔 메일 디렉토리 열때가 가장 두렵습니다.
뭣모르고 ls 한번 하면 하세월...

자체 메일 서버를 돌린다는건 꾸준히 관리감독하지 않는 이상, 요즘같은 시대엔 자살행위에 가까울 것 같아요.

예전에 한번 qmail + vpopmail 등으로 서비스를 한 적이 있었는데, 유독 특정 도메인의 특정 아이디에만 메일이 엄청
쌓이더군요. 죄다 스팸.. (한번도 열어보지 않은 모양.. -_-;;) 메일 유저에게 현재 메일 사용하고 있냐 물어봤더니 '무슨 메일?'
하길래 두말않고 메일 디렉토리 통째로 날렸습니다. 그리고 qmail + vpopmail을 날리고, gmail의 apps를 이용하기 시작했지요.

메일요? 그런거 모릅니다. ㅎㅎ
--->
데비안 & 우분투로 대동단결!

--->
데비안 & 우분투로 대동단결!

다콘의 이미지

발기 어쩌고 하는 메일의 발송 아이피는 거의 중국...
중국에서 메일 받을일 없으면 중국 아이피 차단!

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.