Ciao a tutti
sono circa 10 anni che non scrivo più su questo forum... un po' l'esperienza e un po' il fatto che sono passato a mac e alla programmazione web con php, mi hanno fatto dimenticare l'esistenza di questo glorioso forum che in passato più di una volta mi ha tirato fuori dai guai...
Ritorno perché forse questo è tuttora la migliore risorsa in rete per qualsiasi cosa riguardi la programmazione...
Ora, ho un applicativo php per la gestione aziendale, e sto facendo uno script che automatizza la registrazione di fatture di acquisto (in pdf) che arrivano via mail.
In pratica, la segretaria di turno dovrebbe semplicemente inoltrare la mail contenente il pdf ad un certo indirizzo con un soggetto "codificato" (del tipo fornitore;numerofattura;data), che poi lo script php, una volta lanciato, leggerà e interpreterà estraendo i dati e memorizzandoli in un db mysql.
Lo script per la lettura dal server pop3 ce l'ho. E' un po' primitivo ma mi va bene, non ho voglia di ricompilare apache/php per avere le classi imap.
In pratica estrae in una stringa tutto il source del messaggio e-mail, compresi header e binari degli allegati. Da lì poi in qualche modo devo lavorare la stringa ed estrarre i dati che mi servono.
Ciò che devo estrarre è:
- il soggetto della mail
- il boundary
Una volta che ho questi due dati non dovrebbe essere difficile recuperare gli allegati e splittare il soggetto...
E tutto ciò penso di doverlo fare con le espressioni regolari, ma ci ho provato e non estrae proprio niente...
Metto un esempio di un header...
codice:
Return-Path:
Delivered-To: myaddr@myserver.com
Received: (qmail 28114 invoked by uid 89); 7 Feb 2012 13:42:29 -0000
Received: by simscan 1.2.0 ppid: 27930, pid: 27940, t: 0.8042s
scanners: clamav: 0.97-exp/m:53 spam: 3.3.1
Received: from unknown (HELO mail.onixserver.net) (62.149.175.166)
by mxavas7.ad.aruba.it with SMTP; 7 Feb 2012 13:42:28 -0000
Received: from mittente.it ([93.50.224.158]) by onixserver.net with MailEnable ESMTP; Tue, 07 Feb 2012 14:42:03 +0100
Received: from FORMAZIONE by noitorino.it (MDaemon PRO v12.5.3)
with ESMTP id md50000644371.msg
for ; Tue, 07 Feb 2012 14:41:57 +0100
X-Spam-Processed: mittente.it, Tue, 07 Feb 2012 14:41:57 +0100
(not processed: message size (2650025) exceeds spam filter configured max size of (102400))
X-Return-Path: mittente@mittente.it
X-Envelope-From: mittente@mittente.it
X-MDaemon-Deliver-To: myaddr@myserver.com
From: "Tizio Caio"
To: "'Sono io'"
References:
In-Reply-To:
Subject: Ecco ciò che devo estrarre 1
Date: Tue, 7 Feb 2012 14:43:01 +0100
Message-ID:
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="Ecco ciò che devo estrarre 2"
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQJL0H4q2xIT0PfltIZivMdbE7ZvYALzLPbPlRwCR4A=
Content-Language: it
Disposition-Notification-To: "Tizio Caio"
X-Spam-Rating: mxavas7.ad.aruba.it 1.6.2 0/1000/N
This is a multipart message in MIME format.
Grazie a tutti!