• 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("响应时间过长,上传失败!!");
                }
            }

  • 相关阅读:
    新一代MQ apache pulsar的架构与核心概念
    Flutter使用fluwx实现微信分享
    BZOJ3622 已经没有什么好害怕的了 动态规划 容斥原理 组合数学
    NOIP2016提高组Day1T2 天天爱跑步 树链剖分 LCA 倍增 差分
    Codeforces 555C Case of Chocolate 其他
    NOIP2017提高组Day2T3 列队 洛谷P3960 线段树
    NOIP2017提高组Day2T2 宝藏 洛谷P3959 状压dp
    NOIP2017提高组Day1T3 逛公园 洛谷P3953 Tarjan 强连通缩点 SPFA 动态规划 最短路 拓扑序
    Codeforces 873F Forbidden Indices 字符串 SAM/(SA+单调栈)
    Codeforces 873E Awards For Contestants ST表
  • 原文地址:https://www.cnblogs.com/wallis0922/p/3819974.html
Copyright © 2020-2023  润新知