Ci sono quelli a cui è capitato almeno una volta nella vita e chi mente, inutile nascondersi dietro un dito. Quando hai preparato l’email perfetta, hai anticipato ai tuoi destinatari che troveranno tutto ciò di cui hanno bisogno negli allegati e dimentichi proprio di includerli, la risatina di compassione dall’altro lato è una certezza, non una possibilità.
Causata dalla meccanicità e ripetitività del gesto (l’invio di un’email), manca talvolta di quell’ultimo baluardo di “protezione dalla becera figura” su colossi quali Gmail o Outlook. Io sto ancora litigando con il primo, ho invece risolto alla mia maniera sul secondo.
Gmail (tramite browser) e Outlook sono le mie due interfacce principali, le uso quotidianamente. La prima al 90% per le mie caselle di posta personali, la seconda per tutto ciò che è legato all’azienda. Ho quindi focalizzato gli sforzi su questi due client ma Gmail non mi ha dato la risposta che cercavo, ti spiego perché.
Gmail
Google ha sviluppato una soluzione “in casa” che analizza le email in uscita e ti suggerisce di aggiungere gli allegati nel caso in cui tu abbia dimenticato di farlo. In teoria dovrebbe funzionare al primo colpo, nella pratica io non ci sono riuscito neanche sotto tortura utilizzando Firefox (con Chrome a dirla tutta non ho provato, dovrei), ma è evidente che il problema sia io.
Dando un’occhiata in giro però, trovo diverse lamentele in merito: support.google.com/mail/thread/3023186/did-you-mean-to-attach-something-warning-not-popping-up è solo un esempio. Ho provato quindi a far svolgere il lavoro sporco a degli UserScript adatti a Greasemonkey o equivalente, con poca (zero) fortuna, ci sono solo dei residuati bellici in Web Archive che però non funzionano con l’attuale interfaccia di Gmail (web.archive.org/web/20120509234327/http://userscripts.org/scripts/show/2000 e web.archive.org/web/20120515205715/http://userscripts.org/scripts/show/2419).
Ho dato un’occhiata in giro e ho trovato anche un’alternativa commerciale (help.mailbutler.io/help/how-do-i-use-attachment-reminder), non è però sensato – IMHO – chiedere a una coltellino svizzero di questo tipo di fare solo da “promemoria per gli allegati“, senza considerare che non ho grande voglia di dare accesso alla mia casella a un software di terza parte che non posso controllare del tutto.
Tu hai qualche soluzione da suggerire? Mi farebbe davvero comodo.
Microsoft Outlook
Anche Outlook dovrebbe avere la sua soluzione sviluppata da Microsoft. C’è una voce che svetta fiera nelle opzioni del client, si trova sotto la voce “Posta“:
Funziona? Ma che domande … no! :-)
Non almeno per come te lo aspetteresti, nel senso che non sono riuscito a scatenare il controllo e relativo avviso a video per evitare di mandare in giro email senza i giusti allegati. Dando un’occhiata al forum di Microsoft ho trovato ulteriori lamentele in merito, un esempio è answers.microsoft.com/en-us/outlook_com/forum/all/forgotten-attachment-detector-outlook-2016/8990b6ea-a7e4-409e-8911-79d60e0b3300.
È per questo motivo che ho deciso di approfondire un attimo la questione e arrivare a un risultato accettabile che fa uso di VBA e una macro che puoi inserire anche sul tuo client in qualsiasi momento. Il codice è ovviamente disponibile su Gist:
' Outlook 2016: Attachment Reminder | |
' ----------------------------------------------------------------------------------------------------------- | |
' Author: GSolone | |
' Version: 0.1 | |
' Last modified: 21-01-2022 | |
' Credits: https://www.slipstick.com/outlook/email/attachment-missing-from-outlook-message/ | |
' https://stackoverflow.com/questions/40934390/how-to-check-for-attachment-when-sending-an-email | |
' ------------------------------------------------------------------------------------------------------------ | |
' UPDATES: | |
' - | |
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean) | |
Dim vList As Variant | |
Dim i As Integer | |
wList = Array("attached", "attachment", "allego", "allegato", "allegata", "allegati") | |
For i = 0 To UBound(wList) | |
If InStr(1, Item.Body, LCase(wList(i)), vbTextCompare) > 0 Then | |
answer = MsgBox("Non trovo allegati in questa email, la mando comunque?", vbYesNo + vbQuestion, "Attachment Reminder") | |
If answer = vbNo Then Cancel = True | |
Exit Sub | |
End If | |
Next i | |
If Item.Attachments.Count > 0 Then | |
For Each oAtt In Item.Attachments | |
Debug.Print oAtt.Size | |
If oAtt.Size < 5200 Then | |
GoTo NextAtt | |
Else | |
answer = MsgBox("Non trovo allegati in questa email, la mando comunque?", vbYesNo + vbQuestion, "Attachment Reminder") | |
If answer = vbNo Then Cancel = True | |
End If | |
NextAtt: | |
Next oAtt | |
End If | |
End Sub |
Come avrai facilmente intuito, lo script intercetta le parole “attached“, “attachment“, “allego“, “allegato“, “allegata” e “allegati” (puoi aggiungerne altre a piacere se ne hai necessità, oppure puoi proporre una modifica dello script Gist o lasciarmi un commento, sarà mia cura aggiornare lo script), a quel punto presenterà a video un piccolo box informativo che attende una tua conferma prima di mandare l’email priva di allegati:
C’è un difetto nella soluzione? Assolutamente sì. Ogni volta che aprirai Microsoft Outlook (nel mio caso una volta al giorno) ti toccherà autorizzare l’uso delle macro:
Senza questo, il codice che attiva il promemoria per gli allegati non potrà funzionare. Se non sai come attivare l’uso di macro in Outlook (in generale dico), ne avevo parlato già nell’articolo ” Outlook: in quale cartella si trova questa email?“, ti conviene certamente andargli a dare un’occhiata per saperne di più.
Se dovesse servirti, ho salvato il codice sopra riportato in un file che puoi facilmente importare nel tuo Microsoft Outlook, si chiama “AttachmentReminder.cls” e lo trovi all’indirizzo go.gioxx.org/attachment-reminder.
Anche in questo caso vale quanto detto nel precedente paragrafo: tu hai qualche soluzione – in questo caso alternativa – da suggerire? Mi farebbe davvero comodo.
#StaySafe
L'articolo potrebbe non essere aggiornato
Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)