Questo post è relativo a un componente per Windows Phone 7 e 8 che in molti mi hanno chiesto durante i DevCamp, e che ora è disponibile sia in versione trial (illimitata), sia in versione a pagamento, ed è stato sviluppato dalla società italiana VenetaSoft, e può essere scaricato e/o acquistato qui.

MailMessage arricchisce l'SDK di Windows Phone 7 e 8 rendendo disponibile l'omonima classe presente solo nel .NET Framework desktop/server, permettendo l'invio di email con allegati e senza l'intervento dell'utente, con una libreria, completamente managed e certificata per lo Store.

Sono ormai decine le App pubblicate nello Store che utilizzano MailMessage con successo, differenziandosi dalla concorrenza grazie all'unicità delle proprie funzionalità di Mail sharing avanzate.

Gli scenari di utilizzo sono davvero molteplici:

  • invio in automatico di bug report in caso di eccezione (magari con in allegato lo screenshot della vs app al momento dell'errore)  senza l'intervento dell'utente e senza l'apertura dell'EmailComposeTask (che l'utente nel 99% dei casi chiuderebbe...).
  • realizzazione di una propria pagina di invio email con in più la completa gestione degli allegati sia da Isolated Storage che da file di risorsa, senza limitazioni nel tipo e nel numero di file (il componente verifica inoltre che non si superi la dimensione massima consentita dal server utilizzato).
  • se la propria App gestisce ad es. immagini, video, registrazioni audio, pdf, zip ecc. diventa banale ed immediato aggiungere un tasto "share via mail" con la differenza di poter includere in allegato il frutto dell'elaborazione/ricerca della vs App.
  • realizzare un email scheduler, una app per inviare pdf via mail, un client di posta alternativo.

Principali funzionalità:

  • connessione diretta al server di posta via ssl, nessun utilizzo di servizi intermedi da mantenere.
  • supporta qualunque tipo di allegato: pdf, zip, txt, avi, mp3, wav, mp4, png, gif..). - accetta in modo trasparente allegati dall' Isolated Storage o da directory di risorse.
  • permette di inviare mail senza l'utilizzo di EmailComposeTask.
  • permette l'invio in modalità unattended (senza l'intervento dell'utente).
  • WP7 e WP8 compatibile.
  • 100% managed code, perfettamente omologabile (sono già molte le App nello Store che utilizzano MailMessage).
  • multithreaded: la UI non viene bloccata durante l’invio.
  • supporto messaggi in HTML.
  • supporto caratteri internazionali e charset custom.
  • verifica della dimensione massima supportata dal mail server.