Come impostare un bel nome per un allegato di posta elettronica (System.Net.Mail.SmtpClient)

StackOverflow https://stackoverflow.com/questions/1039664

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 " ;.

È stato utile?

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.

You can use this constructor for Attachment

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top