[oodisc] Thunderbird сортировщик писем
Eugene Prokopiev
prokopiev на stc.donpac.ru
Ср Фев 1 09:53:52 MSK 2006
Maxim Shaev пишет:
> Dmitry Agafonov пишет:
>
>> Возвращаясь к вашему вопросу: создайте нужные почтовые папки,
>> настройте "инструменты->сортировщик писем" и откройте для себя формат
>> UNIX MBOX :)
>>
> Да, я нахожу файлы соответствующие моим папкам в почтовике, это они? и
> как мне оттуда выцарапать нужное мне письмо?
В любом скриптовом языке (Perl/Python/Ruby) должен быть какой-нибудь
(возможно, и не один) модуль для парсинга почтовых сообщений.
В аттаче очень простой пример на питоне - он требует присутствия в
текущей директории файла с именем mbox и соответствующим содержимым :)
Но решать подобные задачи в тех ОС/MUA, которые вы используете - сущее
мучение :(
--
С уважением, Прокопьев Евгений
----------- следущая часть -----------
#!/usr/bin/python
# Copyright (C) 2006 Eugene Prokopiev <enp at altlinux dot org>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
import os,sys,getopt,email,email.Errors,email.Parser,mailbox
mbox = mailbox.PortableUnixMailbox(open("mbox","r"),email.message_from_file)
parser = email.Parser.Parser()
try:
while 1:
mailmsg = mbox.next()
if not mailmsg:
print "All Done!"
sys.exit()
try:
mailfrom = parser.parsestr(mailmsg.as_string()).get("From")
print "Processed message from : %s" %(mailfrom,)
del mailmsg
except IOError:
print "Box is invalid"
sys.exit(1)
except email.Errors.MessageParseError:
print "Error Parsing Mail"
sys.exit(1)
Подробная информация о списке рассылки Oo-discuss