2016-07-01 8 views
-1

In meinem Controller kommen habe ich eine Action, die eine generierte PDF-Datei zurückgibt:Anhängen einer Datei an eine E-Mail von Action

public ActionResult PdfById(int id) 
{  
    .... 
    return File(memoryStream.ToArray(), "application/pdf", fileName); 
} 

ist es eine Möglichkeit, die Datei an eine E-Mail als Anhang zu befestigen?

+0

Bitte beachten Sie, dass das Model-View-Controller-Tag für Fragen zum Muster dient. Es gibt ein bestimmtes Tag für die ASP.NET-MVC-Implementierung. –

+0

Meinst du auf dem Client oder Server? – Richard

Antwort

0

Ich habe die Lösung nach etwas googlen und basteln gefunden. Hoffe, einige werden dies auch nützlich finden.

var contentType = new System.Net.Mime.ContentType(System.Net.Mime.MediaTypeNames.Application.Pdf); 

var attachmentFile = PdfById(id); 
var attachmentStream = new MemoryStream((attachmentFile as FileContentResult).FileContents); 
var attachmentTitle = (attachmentFile as FileContentResult).FileDownloadName; 

var message = new MailMessage(); 
message.Attachments.Add(new Attachment(attachmentStream, attachmentTitle, contentType.ToString())); 
0

Sie können innerhalb System.Net.Mail Namespace überprüfen, und verwenden Sie die SmtpClient Klasse. Es ist möglich, eine MailMessage Klasse zu füllen, die Anhänge haben kann, und dann können Sie sie senden. Es ist möglich, die SMTP-Server-Daten entweder direkt in der Konfigurationsdatei (.config) Ihrer Anwendung oder programmgesteuert aus Ihrem Code it-self zu konfigurieren.

Verwandte Themen