Io ti consiglio di seguire la strada che ti ho consigliato, lasciando i "dettagli" ai programmi di posta che ho menzionato. Li installi tramite il gestore di pacchetti Synaptic..
Poi metti i dati del server di posta nel file di configurazione di procmail e quindi imposti mutt per usare procmail per l'invio della posta.
A questo punto l'invio di un messaggio di testo con allegato è semplice. Qui di sotto ti metto il codice del mio programma gestionale che spedisce le fatture (in formato PDF e zippate) tramite mutt:
Comodo = "mutt -s 'Invio fattura mensile' -a " & Application.Path & "/fatture_da_spedire/fattura_mensile.zip "
Comodo &= Risultato2["email"] & " < " & Application.Path & "/messaggio.txt"
SHELL (Comodo) TO Risposta
IF Risposta <> "" THEN
Message.Error("Si è verificato un errore durante l'invio della fattura n° " & Fattura & " del cliente " & CodCliente & ".\nRiprovare in un secondo momento.")
ENDIF
Come vedi, facendo fare le cose complicate ai programmi appositamente predisposti, la gestione dell'e-mail si risolve nella semplice chiamata ad un comando da terminale, mutt, che mi costruisce il messaggio usando il soggetto specificato dopo "-s", allegando il file specificato dopo "-a" ed inserendo il corpo del messaggio specificato dal file dopo "<".
Al momento non ho tutti i dettagli con me. Se la cosa ti interessa, oggi da casa ti spedisco anche i file che devi configurare.
Dopo aver installato (con le relative dipendenze che eventualmente ti segnalerà Synaptic) mutt ma anche msmtp, che non avevo segnalato in origine sostituendolo per errore con procmail, devi creare/modificare nella tua home i seguenti file:
.mailrc
set sendmail="/usr/bin/msmtp"
.msmtprc (in questo file ci metti i dati del tuo server di posta in uscita):
account default
host NOME_SERVER_SMTP
port 25
protocol smtp
auth off
from INDIRIZZO_EMAIL_DA_CUI_FAI_PERVENIRE_LA_POSTA_(MITTENTE)
user UTENTE
password PASSWORD
.muttrc (file di configurazione di muttrc: ricopialo così com'è, io l'ho trovato su internet):
set pager_context=1
set pager_index_lines=6 #mostra un mini-indice nel pager
set menu_scroll
set pgp_verify_sig=no #non mostrare il pgp nel pager
set status_on_top #metti la linea di stato in alto
set sort=threads #visualizza i messaggi per argomento nell'indice
set status_format=" %r %b %f %n Del %d Msgs %m %l %> (%P)"
set pager_format="%-10.10i %[!%a %b %d %R]"
set date_format="!%H:%M %a %d %b "
set index_format="%4C %Z %[%b%d] %-15.15F %s"
set folder_format="%2C %t %8s %d %N %f"
set sendmail="/usr/bin/msmtp"
#set from="default-mailaddress" #imponi il tuo campo from
#set realname="myname"
set record="$HOME/Mutt/sent" #le email inviate sono salvate qui
set delete=yes #cancella senza chiederlo
set include=yes #quota i messaggi alla risposta
set fast_reply=yes #non chiedere se devi rispondere
set beep=no #niente rumore
set markers=no #non aggiungere un "+" quando vai a capo
set confirmappend=no #non chiedere se aggiungere messaggi a mailbox esistente
set to_chars=" +TCF" #niente "L" per mail_list
set folder = $HOME/Mutt
mailboxes =duplicates
mailboxes =default
mailboxes =friends
mailboxes =junk
mailboxes =spam
mailboxes =keep
save-hook .* =keep #la mbox di default per (s)alvare le mail è =keep
subscribe gentoo-user gentoo-dev #iscritto a queste mailing list
bind pager h display-toggle-weed #fai vedere gli header con il tasto h
# simula il vecchio menu delle url
macro index \cb |urlview\n 'call urlview to extract URLs out of a message'
macro pager \cb |urlview\n 'call urlview to extract URLs out of a message'
#esegui fetchmail premendo il tasto G
macro index G "!fetchmail -a -m 'procmail -d %T'\r"
macro pager G "!fetchmail -a -m 'procmail -d %T'\r"
#usato per editare .muttrc e quindi farne il source… non bisogna
#far ripartire mutt
macro generic ,sm ":source $HOME/.muttrc\r"
macro generic \cj "!rxvt -bg wheat -e joe $HOME/.muttrc\r"
#Questa è la lista degli header da togliere quando la mail viene
#visualizzata
ignore *
unignore Date To From: Subject X-Mailer Organization User-Agent
hdr_order Date From To Subject X-Mailer User-Agent Organization
##Mutt deve avere qualche colore
##questi sono per quattro livelli di testo quotato
##vengono sovrascritte le impostazioni di sistema contenute in /etc/mutt/Muttrc
#color quoted green default
color quoted1 magenta blue
#color quoted2 yellow default
#color quoted3 red default
#color signature cyan cyan
#Queste impostazioni di colori sono copiate da /etc/mutt/Muttrc.color
#commentatele se volete i colori di default contenuti in /etc/mutt/Muttrc
#Je vois la vie en rose :-)
color hdrdefault brightcyan blue
color header brightwhite blue "^from:"
color header brightwhite blue "^subject:"
color quoted brightgreen blue
color signature brightwhite blue
color indicator blue green
color error red black
mono error bold
color status black cyan
mono status bold
color tree yellow blue
color tilde brightmagenta blue
color body brightwhite blue "[-a-z_0-9.]+@[-a-z_0-9.]+"
mono body bold "[-a-z_0-9.]+@[-a-z_0-9.]+"
color body brightyellow black "^Good signature"
mono body bold "^Good signature"
color body brightwhite red "^Bad signature from.*"
mono body bold "^Bad signature from.*"
color normal white blue
color message green black
color attachment brightgreen blue
Ed infine crei la cartella ~/Mutt.
Controlla anche che il file .msmtprc abbia solo i permessi di lettura/scrittura per l'utente, niente più (chmod 600 .msmtprc).
A questo punto dovresti essere a posto.