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("响应时间过长,上传失败!!");
}
}
ASP.NET收发邮件的更多相关文章
- DouNet学习_收发邮件
一.收发邮件 --->第一步:发邮件首先要有发送者的邮箱地址和登录的密码才能发送 这些都写在APP里 不要写死 --->第二步:发邮件就要有网络,要添加net.Mail命名空间 要发送的 ...
- Outlook Express 收发邮件出现"0x800CCC0F"错误代码解决方法
非常多网友在使用Outlook Express收发邮件的过程中,有时能够发送邮件,但出现不能接收信件的问题.每次在收邮件都会在某个地方停止不动,然后报超时,出现错误代码0x800CCC19或0x800 ...
- 用 Apache James 搭建邮件服务器来收发邮件实践(一)(转)
Apache James 简称 James, 是 Java Apache Mail Enterprise Server的缩写.James 是100%基于Java的电子邮件服务器.它是一种独立的邮件服务 ...
- 用Emacs收发邮件
使用Emacs,将尽可能多的工作放到Emacs中来完成,这样可以提高工作效率. 1.安装必要的LISP插件和程序 $sudo apt-get install stunnel4 $sudo apt-ge ...
- Python收发邮件
发送邮件使用SMTP协议,接受POP3或IMAP: 创建邮件内容email模块,发送邮件smtplib模块.发送邮件比较简单,只需先创建SMTP对象,登录服务器后根据发收邮箱地址发送即可: POP3接 ...
- mailkit库收发邮件
mailkit库用于收发邮件.这个库可以替代C#自带的发邮件库 环境 W10 / VS2017CMMT / MailKit version="2.0.3" "net46 ...
- 转--python -- 收发邮件
官方 import smtplib from email.mime.text import MIMEText from email.header import Header # 发送邮箱服务器 smt ...
- c#使用QQ邮箱的SSL收发邮件
c#使用SMTP.QQ.COM的SSL验证时,收发邮件,请勿设置端口,代码如下: (1)虽然SSL端口是465,但是,在代码里,不能直接设置端口,很奇怪?挺奇怪,好吧腾讯SSL好像用的是587端口!! ...
- 在命令行上 使用 mutt, fetchmail, maildrop, msmtp 收发邮件
基于shell 现在已经有了 Mail.app, Thunderbird, Outlook 这些图形化工具能很方便的处理邮件,为啥还需要 mutt 这种命令行文本方式的邮件工具呢?mutt 的一个优势 ...
随机推荐
- UIScrollView无法滚动的解决办法及UIScrollView的代理(delegate)
1•如果UIScrollView无法滚动,可能是以下原因: Ø没有设置contentSize ØscrollEnabled = NO Ø没有接收到触摸事件:userInteractionEnabled ...
- Excel
EXCEL Excel2003中如何复制多个分开的单元格而不复制中间的内容
- Swift 2.0 异常处理
转自:http://www.jianshu.com/p/96a7db3fde00 WWDC 2015 宣布了新的 Swift 2.0. 这次重大更新给 Swift 提供了新的异常处理方法.这篇文章会主 ...
- 作业七:团队项目——Alpha版本冲刺阶段010
今日安排:组内成员讨论 今日进程:组内成员讨论结束,并有明确的解决办法,每个人准备实践
- eap-tls
eap-tls 文件路径 用途 示例 备注 #gedit /usr/local/etc/raddb/sites-available/default #gedit /usr/local/et ...
- as follows ,as follow && following
在现在牛津英语上,as follow 和 as follows 用法差不多的,但后者更常用,不是说谁指一个谁指好几个.牵强附会! 为了保证正确性,你应该用as follows,单数的最好少用.意义差不 ...
- fatal error: 'XCTest/XCTest.h' file not found
这个报错在几个方面.第一,它导致XCTedt依赖您的应用程序.框架,它只是在Xcode中可用.第二,你使用绝对路径,这并不保证是相同的从Mac Mac(例如,如果你安装了多个版本的Xcode). 这里 ...
- 使用JavaScript的history对象来实现页面前进后退(go/back/forward)。
我们都知道JavaScript有history对象,主要是用来记录浏览器窗口的浏览记录.但是,JS脚本是不允许访问到这个记录里面的内容(隐私). 常见的用法是: history.back();//返回 ...
- MVC WebAPI中响应客户端请求返回图片
// GET api/values public HttpResponseMessage Get() { Image img = GetImage(); MemoryStream ms ...
- JAVA编程讲座-吴老
JAVA系列公开课第4讲:多态系列课程:从JAVA编程零基础讲起,同时结合工作中遇到的具体实例,语言清晰易懂,连续10周+深入讲解,打下编程基础,让我们一起打来自动化测试的大门时间:4月25日(周一) ...