Você indica que deseja executar isso no seu servidor. Se essa máquina não estiver em um endereço IP permanente, para que ela possa manipular o correio enviado para um domínio de email específico, você precisará configurar o recebimento de email do provedor que controla o email.
Como você indica que deseja excluir mensagens após o manuseio, não deve se preocupar em ter todas as correspondências reunidas pelo seu provedor em uma conta de usuário, portanto, você deve configurá-las.
Em seguida, você pode pegar o e-mail usando fetchmail ou um programa semelhante, que fala com seu postfix localmente apenas ouvindo as conexões locais. (se o seu servidor tiver um endereço IP fixo e puder manipular conexões stmp externas, você pode pular esta etapa e fazer o resto).
postfix deve ser configurado para usar procmail como seu comando de caixa de correio (em main.cf :
mailbox_command = procmail -a "$EXTENSION"
fetchmail deve ser executado como um trabalho cron regular (eu verifico cada minuto com meu provedor) para algum usuário que faz o processo. Esse usuário deve ter um arquivo ~/.procmailrc que pode fazer alguma filtragem e enviar o e-mail para um script usando uma entrada como:
:0
$ ^Subject:.*some_text_that_has_to_be_in_the_subject_to_be_valid_for_processing
| /usr/local/bin/your_program
Agora, your_program precisa ser capaz de lidar com o formato do arquivo (cabeçalho seguido de corpo). Eu uso o python e seu módulo padrão email para lidar com as complexidades do anexo MIME.
Dica: Tenha your_program armazenando os dados de entrada (em sys.stdin ) completamente em algum arquivo xyz durante o desenvolvimento, para que você possa ver isso e desenvolvê-lo indepedentemente (apenas executando your_command < xyz ) não precisa passar pelo incômodo de enviar e-mails com anexos para testar essa etapa do processo.