Inviare Fax gratis con PHP
Posted on marzo 27, 2010
Filed Under Form Email | 2 Comments
Nell’articolo presentiamo un sistema in PHP di invio FAX gratuito (togliendo il costo di un SMS!) tramite PHP. Il sistema permette l’invio di documenti TXT, JPG, GIF, PDF, DOC, DOCX, XLS, XLSX semplicemente caricandoli da un’intuitiva interfaccia e specificando il numero di fax del destinatario il tutto spendendo semplicemente il costo di un SMS!Il primo step consiste nella registrazione al sito: http://www.faxator.com/
La registrazione al sito e’ molto intuitiva e consiste nell’inserimento dei propri dati anagrafici, dell’indirizzo mail che utilizzeremo per l’invio dei fax e del numero di cellulare che utilizzeremo per validare la registrazione tramite l’invio di un SMS con costo a carico tuo (ecco il costo da sostenere per l’invio dei fax!).
Una volta inseriti tali dati si ricevera’ una mail con un codice da inviare via SMS al numero indicato ed il servizio verra’ attivato all’istante.
Loggandosi nella propria area personale nella sezione download sara’ possibile scaricare il certificato di sicurezza personale che andremo a salvare nella stessa cartella dove posizioniamo il nostro script.
Attualmente il servizio permette l’invio di email con oggetto il numero di fax del destinatario ed in allegato:
- i certificato di sicurezza personale;
- il documento da inviare.
E’ possibile inserire nell’Oggetto della e–mail più numeri separati da virgola fino ad un massimo di 5 numeri per ogni invio ed inviare la mail cosi’ fatta all’indirizzo mail: faxgratis@faxator.com.
E’ possibile allegare un unico file Word, EXCEL, Microsoft WORKS, RTF o PDF – anche multipagina.
Sono supportati anche formati immagine come JPG o GIF.
Viene raccomandato l’uso del formato A4 e preferibilmente PDF o WORD.
Per testare il sistema e’ sufficiente indicare nell’oggetto della mail il numero di fax: 059000000.
Limitazioni:
- Il servizio e’ attivo dalle 8 alle 20 dal lunedi’ al venerdi’. Inviando il fax dopo le 20 o prima delle 8 il fax verrà messo in attesa almeno fino alle 8 successive;
- non è possibile spedire a numerazioni cellulari o internazionali;
- puoi inviare documenti fino ad un massimo di 5 pagine;
- puoi inviare fino a 10 fax al giorno con un massimo di 100 fax al mese.
Star tutte le volte ad cercare il certificato perso chissa’ dove o dove necessariamente andare a creare una nuova mail potrebbe essere fastidioso ecco che ci viene in aiuto il nostro script in PHP per l’invio del fax.
Anzitutto scarichiamo la libreria gratuita PHPMailer da http://phpmailer.worxware.com/
Andiamo quindi a scaricare i seguenti files nella stessa directory dove abbiam messo il certificato di sicurezza personale:
- class.phpmailer.php
- class.smtp.php
Doporiche’, sempre nella stessa cartella creiamo una cartella chiamata cache a cui daremo i permessi di scrittura (su sistemi a base *nix) e creeremo il nostro script per l’invio dei fax: invioFax.php
<html>
<head>
<title>Sistema di invio Fax</title>
</head>
<body>
<?php
// Parte da personalizzare…
$nomeCognome = “Nome cognome”; // Sostituire Nome Cognome con vostro nome e cognome Es.: $nomeCognome = “Paolo Rossi”;
$mailMittente = “info@freescriptphp.com”; // Sostituire info@freescriptphp.com con la mail usata nella registrazione del servizio Faxator
$nomeCertificato = “123456789.cds”; // Sostituire 123456789.cds con il nome del cerficato (Tipicamente il nome e’ il numero di cellulare).
// Fine parte da personalizzare
$uploadDir = “./cache/”;
$address = “faxgratis@faxator.com”;
isset ($_POST['numero']) ? $oggetto = addslashes($_POST['numero']) : $oggetto = “”;
if (strlen($oggetto)>0)
{
// Estensioni permesse…
$allowedExtensions = array(“txt”,”csv”,”doc”,”xls”,”rtf”,”pdf”,”jpg”,”jpeg”,”gif”,”png”);
foreach ($_FILES as $file)
{
if ($file['tmp_name'] > ”)
{
if (!in_array(end(explode(“.”,strtolower($file['name']))),$allowedExtensions))
die($file['name'].’ tipo di file non valido!<br/>’.'<a href=”javascript:history.go(-1);”>’.'<< Indietro</a>’);
}
}
// Caricamento immagine…
$nomeFile = basename($_FILES['nome_file']['name']);
if (strlen($nomeFile) > 0)
{
$uploadfile = $uploadDir . $nomeFile;
$result = @move_uploaded_file($_FILES['fotoUno']['tmp_name'],$uploadfile);
}
//Fine caricamento Documento
require_once(‘class.phpmailer.php’);
$mail = new PHPMailer();
$body = ” “;
$mail->AddReplyTo($mailMittente,$nomeCognome);
$mail->SetFrom($mailMittente, $nomeCognome);
$mail->AddReplyTo($mailMittente,$nomeCognome);
$mail->AddAddress($address, “Faxator”);
$mail->Subject = $oggetto;
$mail->AltBody = “”; // opzionale
$mail->MsgHTML($body);
$mail->AddAttachment($nomeCertificato); // attachment
$mail->AddAttachment($uploadfile); // attachment
if(!$mail->Send())
echo “Mailer Error: ” . $mail->ErrorInfo;
else
echo “Fax inviato, complimenti!”;
}
else
$oggetto = “059000000″;
?>
<br><br>
Sistema di invio fax (massimo 5 pagine — massimo 10 invii al giorno):<br>
<form method=”POST” enctype=”multipart/form-data” name=”modulo”>
Numero di destinazione:<input type=”text” name=”numero” value=”<?php echo($oggetto); ?>”><font color=”red”>Max 5 numeri separati da Virgole</font><br>
Allega File:<input name=”nome_file” type=”file” /><font color=”red”>Formati ammessi: PDF,DOC,XLS,RTF,GIF,JPG</font><br>
<input type=”submit” value=”Invia Fax >>” />
</form>
</body>
</html>
Nei sistemi Linux in locale potrebbero esserci problemi con Selinux abilitato se non permissimo per l’invio della mail. Vi invitiamo a controllare la configurazione del vostro sistema per permettere l’invio delle mail da locale o caricare lo script online per risolvere il problema.
Una volta caricato lo script con il certificato e la classe di invio mail sul nostro spazio hosting non faremo altro che collegarci all’url dove abbiamo caricato lo script e scegliere il file da inviare via fax senza ricordarci l’indirizzo mail a cui spedire la mail o cercare affannosamente il certificato.
Ulteriori sviluppi potrebbero essere quelli di salvare in un file (o database) il numero di invii gia’ effettuati cosi’ da ricordare all’utente quando raggiunge il limite massimo giornaliero o mensile. Un’altra implementazione potrebbe essere quella di limitare l’inserimento di caratteri diversi da numeri e virgole nel campo “nome_file“. Se fate queste migliorie fateci sapere come le avete implementate cosi’ da renderle disponibili a tutti.
Others Script adv
2 Responses to “Inviare Fax gratis con PHP”
Leave a Reply
Hey ! Love your blog thanks for sharing it with everyone.. Greetings from the Speedy DNS.
WONDERFUL Post.thanks for share..more wait .. …