zoukankan      html  css  js  c++  java
  • 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("响应时间过长,上传失败!!");
                }
            }

  • 相关阅读:
    告别08
    WinForm程序如何将子窗体嵌入到父窗体的Panel里
    几种排序算法
    接口的特征
    什么是重写
    C#异常处理
    什么是重载
    结构和类的区别
    Javascript的函数
    在ASP.NET中防止注入攻击
  • 原文地址:https://www.cnblogs.com/wallis0922/p/3819974.html
Copyright © 2011-2022 走看看