在.NET中常見到在線發郵件的實例,網站加上這個功能能夠方便站長與用戶的交流。 數據庫
NET 中發郵件有時候會用到IIS組件中的郵件服務器,不過複雜。對虛擬主機的配置也較麻煩, 服務器
也可用第三方組件好比Jmail,但.net自己就已經封裝了發郵件的類:WebMail; 網站
不過要首先引入這個類:using System.Web.Mail;//導入郵件發送類
using System.IO;//文件上傳類型 .net
這個類中包含了一些經常使用的對象經常使用的有From ,To,Subject,Body,Attchments(附件); orm
具體代碼以下: 對象
MailMessage objMail = new MailMessage();
objMail.From = mailFrom.Text;
objMail.To = mailTo.Text;
objMail.Subject = Subject.Text;
objMail.Body = Body.Text;
objMail.BodyFormat = MailFormat.Text;
//上傳附件 ip
string filename, filepath, filepic; 文件上傳
filepic = Path.GetExtension(uploadfile.PostedFile.FileName).ToLower();
if (filepic == ".exe")
{
Response.Write("<script>alert('對不起,格式錯誤!')</script>");
//Response.End();
} string
filename = Path.GetFileName(uploadfile.PostedFile.FileName);
filepath = Server.MapPath("uploadfiles/" + filename);
uploadfile.PostedFile.SaveAs(filepath);//保存上傳文件到服務器文件夾下;
MailAttachment attach = new MailAttachment(filepath);根據上傳的路徑建立附件對象;
objMail.Attachments.Add(attach);//添加附件實例
SmtpMail.SmtpServer = "";
SmtpMail.Send(objMail);
message.Text = "成功發送 !:)";
} it
在這裏上傳附件時,對附件的擴展名進行驗徵,後綴名爲.exe的爲非法上傳格式,固然你也能夠添加更多的非法格式;
二:上傳文件;
上傳文件有多種方法,經常使用的數據庫保存文件路徑,文件存放在文件夾下;下面給出我把文件上傳到文件夾下的代碼;
string filename, filepath, filepic;//定義文件名,文件路徑,文件擴展名; filepic = Path.GetExtension(uploadfile.PostedFile.FileName).ToLower();//判斷所要上傳的文件名 if (filepic == ".exe" || filepic == ".rar" || filepic== ".重命名")//看看是否是符合這幾種擴展名,若是想禁止某種類型,直接在這裏添加便可; { Response.Write("<script>alert('對不起,格式錯誤!')</script>"); //Response.End(); } else { try { filename = Path.GetFileName(uploadfile.PostedFile.FileName); filepath = Server.MapPath("uploadfiles/" + filename); uploadfile.PostedFile.SaveAs(filepath); Response.Write("保存路徑:" + filepath + "<br>"); Response.Write("文件類型:" + uploadfile.PostedFile.ContentType); message.InnerHtml = "<br><a href='uploadfiles/" + filename + "'>查看文件</a>" + "<a href='uploadfiles.aspx'>返回</a>"; } catch (OleDbException er) { Response.Write("響應時間過長,上傳失敗!!"); } }