Sto cercando di ottenere un file caricato da inviare come allegato nel mio file ashx
. Ecco il codice che sto usando:Invia file caricato come allegato
HttpPostedFile fileupload = context.Request.Files[0];
//filename w/o the path
string file = Path.GetFileName(fileupload.FileName);
MailMessage message = new MailMessage();
//*****useless stuff********
message.To.Add("[email protected]");
message.Subject = "test";
message.From = new MailAddress("[email protected]");
message.IsBodyHtml = true;
message.Body = "testing";
//*****useless stuff********
//Fault line
message.Attachments.Add(new Attachment(file, MediaTypeNames.Application.Octet))
//Send mail
SmtpClient smtp = new System.Net.Mail.SmtpClient("xxxx", 25);
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("xxx", "xxxx");
smtp.Send(message);
Sono in grado di inviare l'e-mail senza l'allegato. Devo prima salvare il file e poi aggiungerlo all'allegato?
È necessario prima salvare il file; vedi una domanda simile che riguarda il collegamento di un'immagine a un messaggio di posta qui: http://stackoverflow.com/questions/6105904/how-to-send-image-as-attachement-without-saving-it-in-file-system – dash
Sì, ho capito. Non ho potuto utilizzare Server.MapPath(). la soluzione è HttpContext.Current.Server.MapPath(). – nikhil