Guida

Licenza

Il software è sotto licenza BSD, in pratica potete farci tutto quello che volete, tranne:

  • rimuovere il copyright dal sorgente;
  • se viene ridistribuito il binario ed è presente documentazione e/o altro materiale di contorno
    va riportato il copyright.

Leggete comunque la licenza con attenzione se avete dei dubbi, è presente sia nel sorgente sia
all'indirizzo

Compilazione

Il file presente nell'archivio altro non è se non il sorgente del programma. Per poter utilizzare
il software questo deve essere compilato per il proprio sistema dato che ogni distribuzione fa uso
di librerie diverse o uguali ma compilate con flag diversi.

Per effettuare la compilazione è necessario avere installata la toolchain gnu, praticamente gcc. Se
questa non è presente sul vostro sistema è possibile installarla con semplicità tramite il package
manager della vostra distribuzione.

Per i sistemi Debian, Ubuntu e derivati/simili, generalmente, basta installa installare il pacchetto
virtuale build-essential che contiene i riferimenti a tutto il necessario.

Nel caso invece che vogliate compilare il codice sorgente su windows è necessario installare la
toolchain mingw o scariare gli headers/api delle mingw e utilizzarle con il vostro compilatore
preferito.

Per effettuare la compilazione vera e propria, nella cartella in cui è presente il file sendmail.c
utilizzando gcc basta eseguire il comando su *nix/bsd

gcc -O3 -pipe -Wall -o sendmail sendmail.c

mentre su windows

gcc -O3 -pipe -Wall -o sendmail.exe sendmail.c

Una volta fatto, nella stessa cartella sarà presente l'eseguibile, chiamato sendmail o sendmail.exe.
Se state lavorando in ambienti *nix/bsd vi sconsiglio di copiarlo in /usr/bin, /bin o simili perché
andreste a sovrascrivere il sendmail del sistema operativo e questa versione che ho scritto,
attualmente, non è compatibile con le opzioni standard di sendmail.
Conviene copiare il file all'interno di /usr/local/bin, che generalmente è esterno alle path, cosi
da non rischiare di danneggiare il vostro sistema.

Utilizzo

L'utilizzo di questa versione di sendmail è abbastanza semplice, vanno passati 2 parametri:

  • il primo indica dove salvare le email;
  • il secondo, opzionale, il prefisso da anteporre all'email.

Se si sta lavorando su linux, eseguendo questo comando, una volta corretti i percorsi

cat myemail | /usr/local/bin/sendmail /home/myuser test

all'interno della cartella /home/myuser saranno presenti dei file chiamati test00000.eml,
test00001.eml e a seguire.

Richiamandolo invece cosi

cat myemail | /usr/local/bin/sendmail /home/myuser

i file all'interno della cartella avrano il prefisso email, quindi email00000.eml, email00001.eml e
via dicendo.

E' possibile anche utilizzare gli spazi nella path e nel prefisso

cat myemail | /usr/local/bin/sendmail "/home/myuser/this is my path "and this is my email"

Eventuali slash alla fine del percorso vengono automaticamente rimossi per evitare possibili errori
causati da troppi slash consecutivi.

Come potete notare dagli esempi, l'email va passata tramite lo standard input su *nix/bsd usando
cat, echo e via dicendo, mentre su windows va usato type o simili.

Se richiamato senza o con pochi argomenti verrà stampato l'help. Per aumentare la compatibilità con
software già esistenti tutti i parametri successivi ai primi due verranno ignorati.

Utilizzo con PHP

Per utilizzare questo piccolo software con php basta impostare nel php.ini la chiave

sendmail_path = /usr/local/bin/sendmail /path/to/storage prefix

o

sendmail_path = /usr/local/bin/sendmail /path/to/storage

A questo punto, ogni qual volta verrà inviata un'email tramite la funzione mail questa verrà salvata
sul disco nel percorso indicato e con il prefisso indicato