Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Costruttore Attachment (Stream, ContentType)

 

Data di pubblicazione: ottobre 2016

Inizializza una nuova istanza di Attachment classe con il flusso specificato e il tipo di contenuto.

Spazio dei nomi:   System.Net.Mail
Assembly:  System (in System.dll)

public Attachment(
	Stream contentStream,
	ContentType contentType
)

Parametri

contentStream
Type: System.IO.Stream

Leggibile Stream che include il contenuto di questo allegato.

contentType
Type: System.Net.Mime.ContentType

Oggetto ContentType che descrive i dati in stream.

Exception Condition
ArgumentNullException

contentType è null.

-oppure-

contentStream è null.

La proprietà TransferEncoding è impostata su Base64.

Se il flusso CanSeek proprietà false, l'allegato e MailMessage che lo contiene non sono riutilizzabili. È necessario fornire un flusso che è possibile eseguire ricerche per riutilizzare un allegato.

Esempio di codice riportato di seguito viene illustrato come chiamare questo costruttore.

// The following example sends a summary of a log file as the message
// and the log as an e-mail attachment.
public static void SendErrorLog(string server, string recipientList)
{
	// Create a message from logMailer@contoso.com to recipientList.
	MailMessage message = new MailMessage(
	   "logMailer@contoso.com", recipientList);

	message.Subject = "Error Log report";
	string fileName = "log.txt";
	// Get the file stream for the error log.
	// Requires the System.IO namespace.
	FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
	StreamReader s = new StreamReader(fs);
	int errors = 0;
	while (s.ReadLine() != null)
	{
		// Process each line from the log file here.
		errors++;
	}
	// The e-mail message summarizes the data found in the log.
	message.Body = String.Format("{0} errors in log as of {1}",
		errors, DateTime.Now);
	// Close the stream reader. This also closes the file.
	s.Close();
	// Re-open the file at the beginning to make the attachment.
	fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
	// Make a contentType indicating that the log data
	// that is attached is plain text.
	ContentType ct = new ContentType(MediaTypeNames.Text.Plain);
	// Attach the log file stream to the e-mail message.
	Attachment data = new Attachment(fs, ct);
	ContentDisposition disposition = data.ContentDisposition;
	// Suggest a file name for the attachment.
	disposition.FileName = "log" + DateTime.Now.ToString() + ".txt";
	// Add the attachment to the message.
	message.Attachments.Add(data);
	// Send the message.
	// Include credentials if the server requires them.
	SmtpClient client = new SmtpClient(server);
	client.Credentials = CredentialCache.DefaultNetworkCredentials;

   try { 
      client.Send(message);
    }
    catch (Exception ex) {
      Console.WriteLine("Exception caught in SendErrorLog: {0}", 
                  ex.ToString() );
    }
	data.Dispose();
	// Close the log file.
	fs.Close();
}

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: