ASP.NET收发邮件

在.NET中常见到在线发邮件的实例,网站加上这个功能可以方便站长与用户的交流。

NET 中发邮件有时候会用到IIS组件中的邮件服务器,不过复杂。对虚拟主机的配置也较麻烦,

也可用第三方组件比如Jmail,但.net本身就已经封装了发邮件的类:WebMail;

不过要首先引入这个类:using System.Web.Mail;//导入邮件发送类
using System.IO;//文件上传类型

这个类中包含了一些常用的对象常用的有From ,To,Subject,Body,Attchments(附件);

具体代码如下:

MailMessage objMail = new MailMessage();
        objMail.From = mailFrom.Text;
        objMail.To = mailTo.Text;
        objMail.Subject = Subject.Text;
        objMail.Body = Body.Text;
        objMail.BodyFormat = MailFormat.Text;
        //上传附件

        string filename, filepath, filepic;

        filepic = Path.GetExtension(uploadfile.PostedFile.FileName).ToLower();
        if (filepic == ".exe")
        {
            Response.Write("<script>alert('对不起,格式错误!')</script>");
            //Response.End();
        }

        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 = "成功发送 !:)";
    }

在这里上传附件时,对附件的扩展名进行验征,后缀名为.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("响应时间过长,上传失败!!");
            }
        }

以上代码我在Windows XP vs2005中测试过,基本上没有错误;其中邮件发送实例,可做为一个经典的实例收藏;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值