Il tuo problema ha una sola origine e una sola soluzione, ovvero l'invio di allegati, imho è inutile girarci attorno, qualsiasi soluzione troverai sarà sempre un workaround al problema vero, ovvero che la posta (tecnicamente il protocollo SMTP) non è un protocollo adatto al file transfer.
Per fare un lavoro del genere serve un repository di file, puoi pensare di usare un sistema di condivisione file http come
ajaxplorer, un repository webdav oppure servizi enterprise tipo
IBM Connections.
Tornando a noi, il doppio upload del file è normale, del resto i protocolli usati (SMTP per la spedizione vera e propria, e IMAP per la sincronizzazione e l'accesso alla mailbox) sono diversi e completamente disgiunti.
Riguardo all'uso di Gmail ricordo che ci sono due modalità di configurare account esterni:
- puoi permettere a Gmail di connettersi via IMAP o POP per scaricare i messaggi e usare gli SMTP di Google per spedire (in questo caso al destinatario la mail arriva con la label "inviato da
[email protected])
- oppure puoi configurare Gmail per spedire utilizzando il tuo SMTP (in questo caso ad es quello di Tiscali, fornendo ovviamente le credenziali appropriate) e in questo caso al destinatario l'email arriverà senza alcun riferimento a gmail (in realtà qualche dettaglio c'è nel source della mail ma non dovrebbe capitarti quello che ti succede ora).