Come impostare un bel nome per un allegato di posta elettronica (System.Net.Mail.SmtpClient)
-
22-07-2019 - |
Domanda
Sto inviando allegati usando System.Net.Mail.SmtpClient in C #.
I nomi degli allegati sono gli stessi del nome del file che passo nel costruttore degli allegati
myMail.Attachments.Add(new Attachment(attachmentFileName));
Come farei per impostare un " bello " nome per l'allegato? I nomi che ho attualmente sono sostanzialmente ID numerici che indicano quale occorrenza di un report è allegata. I miei utenti sono alla ricerca di qualcosa di più amichevole come " results.xls " ;.
Soluzione
Vedi Proprietà Attachment.Name :
Ottiene o imposta il valore del nome del tipo di contenuto MIME nel tipo di contenuto associato a questo allegato.
Puoi impostare Allegato < code> .Name a qualsiasi cosa ti piaccia. Nell'esempio all'interno dell'ultimo link, potresti avere:
// Create the file attachment for this e-mail message.
Attachment data = new Attachment(file, MediaTypeNames.Application.Octet);
data.Name = "VeryNiceName.dat"; //(not in original example)
...
message.Attachments.Add(data);
Altri suggerimenti
Salva l'allegato nella cartella temporanea con il nome desiderato, quindi allegalo. Non dimenticare di eliminarlo dopo aver inviato l'e-mail in modo che la cartella temporanea non diventi troppo grande.
Modifica : la risposta accettata è molto meglio, ma la lascerò qui per gli altri che seguono lo stesso percorso di pensiero e vedono quanto sia sbagliato.