|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Sep 2010
Messaggi: 25
|
Allegato proveniente da email su server FTP
Salve ragazzi, ho bisogno di poter caricare su un server ftp un allegato proveniente da una email. In sostanza ricevo una email quotidianamente con un pdf allegato e vorrei che quel file venga caricato automaticamente in un percorso del mio webserver per poterlo rendere disponibile sul web.
Avete idee? Qualche codice/funzione in php? grazie mille |
![]() |
![]() |
![]() |
#2 |
Junior Member
Iscritto dal: Sep 2010
Messaggi: 25
|
up
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
La funzione principale per leggere le mail in php è imap_open.
Qui c'è un esempio per leggere un'email e scaricare gli allegati (da verificare se funziona): http://www.linuxscope.net/articles/m...hmentsPHP.html |
![]() |
![]() |
![]() |
#4 | |
Junior Member
Iscritto dal: Sep 2010
Messaggi: 25
|
Quote:
![]() In pratica ho bisogno che gli allegati che lo script trova nei messaggi di posta vengano inseriti in uno specifico database chiamato 'allegati'. Quest0ultimo contiene una tabella 'imap_attachment' formata da due campi, ovvero 'MessID' e 'attachment' Se non ho capito male il campo 'attachment' dovrei dichiararlo in formato binario. Codice:
<? $ServerName = "{imap.tiscali.it/imap:143}INBOX"; // For a IMAP connection (PORT 143) //$ServerName = "{pop.tiscali.it/pop3:110}INBOX"; // For a POP3 connection (PORT 110) $UserName = "******@tiscali.it"; $PassWord = "*****"; $mbox = imap_open($ServerName, $UserName,$PassWord) or die("Could not open Mailbox - try again later!"); // --- Apre la connessione con il server MySQL $conn = mysql_connect("****", "root", "password"); if (! $conn) { echo ("Errore durante la connessione a MySQL."); exit(); } // --- Selezione del database mysql_select_db("allegati"); # Check if message has an attachment. if (isset($struct->parts[1]->dparameters[0]->value)) { $fileName = $struct->parts[1]->dparameters[0]->value; $body = imap_fetchbody($mailbox, $i, 2); $file = imap_base64($body); $fh = fopen("/home/steve/www/imap/attachments/$fileName", "w"); fputs($fh, $file); fclose($fh); $fileInsert = file_get_contents("/home/steve/www/imap/attachments/$fileName"); mysql_query("INSERT INTO imap_attachments (messID, attachment) VALUES ('$i', '".mysql_escape_string($fileInsert)."')"); } mysql_close($conn); imap_close($mbox); ?> Ultima modifica di colinocata : 08-11-2012 alle 15:54. |
|
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Sep 2010
Messaggi: 25
|
upp
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:35.