1. 程式人生 > >盧弋 的個人技術專欄 -- 總結使人進步

盧弋 的個人技術專欄 -- 總結使人進步

  檢視WebForm1.aspx的HTML原始碼,修改標籤,新增屬性設定encType="multipart/form-data";
  在C#程式碼中新增對名稱空間System.Web.Mail的引用(需要使用該名稱空間下的MailMessage類和SmptMail類),MailMessage類物件用來設定要傳送郵件的相關資訊,如收件人,發件人,主題,內容,優先順序,格式以及附件;使用SmptMail類的Send方法將MailMessage物件傳送出去。
  注:要在C:/Inetpub/wwwroot目錄下建立一個temp資料夾,用於將酵檔案上傳到Web臨時目錄下,然後將伺服器上的檔案路徑賦給MailMessage物件的Attachments屬性即可。

  “傳送”按鈕的事件如下:
  private void btnSend_Click(object sender, System.EventArgs e)
  {
   //建立一個MailMessage物件
   MailMessage aMail = new MailMessage();
   //收信人地址
   aMail.To = txtTo.Text ;
   //發信人地址
   aMail.From = txtFrom.Text ;
   //主題
   aMail.Subject = txtSubject.Text;
   //正文
   aMail.Body = txtBody.Text ;
   //優先順序
   aMail.Priority = (MailPriority)ddPriority.SelectedIndex ;
   //正文格式
   aMail.BodyFormat = (MailFormat)ddBodyFormat.SelectedIndex ;
   ddPriority.SelectedIndex = 1;
   ddBodyFormat.SelectedIndex = 0;
   
   if (File1.PostedFile.FileName  != "" )
   {
    //上傳檔案的檔名(含完整路徑)
    string fileName = File1.PostedFile.FileName;
    fileName = fileName.Substring (fileName.LastIndexOf (@"/"));
    //使用SaveAs方法,將檔案儲存在專案路徑/temp目錄下,
    //需要在專案路徑下建立temp目錄
    fileName = Server.MapPath(@"/temp/" + fileName);
    //要在C:/Inetpub/wwwroot資料夾下建立temp資料夾用於存放臨時傳送的檔案
    File1.PostedFile.SaveAs(fileName);
    //新增附件
    aMail.Attachments.Add(new MailAttachment(fileName));
   }
   
   string result = "";
   try
   {
    //傳送郵件
    SmtpMail.Send(aMail);
    result = "Email 傳送成功!";
   }
   catch(Exception ex)
   {
    result = "Email 傳送失敗。" + ex.Message ;
   }
   Response.Write (" ");
  }