Отправка файла с использованием электронной почты Выбор файла на стороне клиента Просмотр HTML-страницы в IE Создание HTML-файла в среде MS Studio.NET HTML-файл <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title></title> <meta name="GENERATOR" content="Microsoft Visual Studio .NET 7.1"> <meta name="ProgId" content="VisualStudio.HTML"> <meta name="Originator" content="Microsoft Visual Studio .NET 7.1"> </head><body> <form method=post action="WebForm4.aspx" enctype=multipart/form-data> <INPUT id="File1" type="file" name="File1"><br> <INPUT id="Submit1" type="submit" value="Submit" name="Submit1"> </form> </body></html> Описание переменных public class WebForm4 : System.Web.UI.Page { HttpPostedFile file; FileStream fin; String str,s; Byte[] bytes =new Byte[500]; int i; … Передача файла Для передачи файла со стороны клиента используем объект Request, а именно его свойство: Files-свойство содержит коллекцию файлов, переданных пользователем на сервер. Свойство имеет смысл обрабатывать только в том случае, если указан MIME-тип multipart/form-data. Передача файла private void Page_Load(object sender, System.EventArgs e) { this.Response.Write(this.Request.Params["File1"]); foreach(string f in Request.Files.AllKeys) { try { file = Request.Files[f]; } catch(Exception ex) { this.Response.Write("<br>NO<br>"); } Сохранение файла на сервере try { file.SaveAs("\\\\adm-119-1\\internet\\test.txt"); this.Response.Write("<br>Файл с именем "+file.FileName.ToString()+"успешно передан на сервер"); } catch(Exception ex) { this.Response.Write("<br>NO COPY<br>"+file.FileName.ToString()+ex.Message); } Открытие файла try { fin= new FileStream("\\\\adm-1191\\internet\\test.txt",FileMode.Open); this.Response.Write(" Файл открыт"); } catch(Exception ex) { this.Response.Write(ex.Message+" Невозможно открыть файл"); } Чтение файла по строкам StreamReader fstr_in=new StreamReader(fin); while ((s=fstr_in.ReadLine())!=null) { str=str+s; } this.Response.Write("прочитано="+str); this.Session["str"]=str; fstr_in.Close(); fin.Close(); Чтение файла по байтам do { try { i=fin.ReadByte(); } catch(Exception ex) { Console.WriteLine(ex.Message); } Чтение файла по байтам if (i!=-1) { Console.Write((char)i); } } while(i!=-1); fin.Close(); Создание почтового соединения Весьма часто разработчику Web-приложений приходится использовать в своих проектах функцию автоматической отправки электронной почты. Чаще всего электронные письма, которые создаются и отправляются автоматически, без участия администраторов, содержат какие-либо уведомления. Так или иначе, практически ни один из серьезных проектов не обходится без использования электронной почты, и, следовательно, необходимо рассмотреть механизм ее использования в работе Web-приложений. Создание почтового соединения Для создания почтового соединения применяется класс SmtpMail, располагающийся в пространстве имен System.Web.Mail. Основное его свойство SmtpServer типа String содержит адрес почтового сервера, на который будет отсылаться сообщение. А метод Send отсылает письмо на этот сервер. В качестве параметра этому методу передается значение типа MailMessage. Именно этот тип полностью определяет отсылаемое сообщение. Свойства отсылаемого сообщения MailMessage Attachments – свойство задает список файлов, присоединены к письму. Свойство имеет значение типа IList. Этот тип является коллекцией наименований файлов. Bcc – свойство типа String. Его значением является список адресов электронной почты, по которым будет отправлено электронное письмо. Следует, однако, отметить, что в этом свойстве задаются адреса, водящие в список BCC (Blind Carbon Copy), т.е. получатели, чьи адреса указаны в полях To (кому) и Copy (копия), не увидят в заголовке письма адреса из списка BCC. Адреса, водящие в список BCC, разделяются запятой. Свойства отсылаемого сообщения MailMessage Body –свойство типа String. В нем находится само тело электронного письма. BodyEncoding – свойство типа Encoding, Задает кодировку символов сообщения. BodyFormat – свойство типа MailFormat, в котором устанавливается формат тела электронного письма. Свойство может принимать значения Text и Html. Cc –свойство типа String. В этом свойстве записываются адреса, разделенные запятыми, по которым будет отправлена копия электронного сообщения. Свойства отсылаемого сообщения MailMessage From – свойство типа String, в котором указывается электронный адрес отправителя письма. Priority- свойство перечислимого типа MailPriority, в котором указывается приоритет отсылаемого письма. Свойство может принимать значения High, Low и Normal. Subject – свойство типа String. В нем записывается тема отправляемого сообщения. To – свойство типа String. В нем указывается адрес электронной почты, по которой будет отправлено создаваемое сообщение. Создание почтового соединения using System.Web.Mail; … System.Web.Mail.MailMessage Message = new MailMessage(); Message.To = "it@3case.sv.local"; Message.From = "PolyakovaLN@ulsu.ru"; Message.Subject = ”Пример отправки"; Message.Body = "Это текст почтового сообщения. отправленный"+System.DateTime.Now.ToString(); Присоединение файла string sAttach = @"\\adm-119-1\internet\test1.txt"; char[] delim = new char[] {','}; try { foreach (string sSubstr in sAttach.Split(delim)) { MailAttachment myAttachment = new MailAttachment(sSubstr); Message.Attachments.Add(myAttachment); } Присоединение файла } catch(Exception ex) { this.Response.Write("no attach "+ex.Message); } Отправка почтового сообщения try { SmtpMail.SmtpServer = "adm-119-1"; SmtpMail.Send(Message); } catch(System.Web.HttpException ehttp) { Console.WriteLine("Error while mail message!!\n"); }