• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

.NET 框架类在asp.net 中的应用(二)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

//用 ASP.NET 实现邮件系统

System.Web.Mail名称空间
SmtpMail 是设定SMTP服务器
MailMessage最丰富

MailMessage m = new MailMessage();
m.Form = tbFrom.Text;
m.To = tbTo.Text;
m.Subject = tbSubject.Text;
m.Body = tbBody.Text;
//优先级
switch(ddlp.SelectedIndex)
{
case 0:
m.Priority = MailPriority.High;
break;
case 1:
m.Priority = MailPriority.Low;
break;
default:
m.Priority = MailPriority.Normal;
break;
}

//格式
if(ddlp.SelectedIndex == 0)
{
m.BodyFormat = MailFormat.Text;
}
else
{
m.BodyFormat = MailFormat.Html;
}
//设置服务器
if(tbServer.Text!="")
{
SmtpMail.SmtpServer = tbServer.Text;
}
//处理附件
string strFileName = FileSelect.PostedFile.FileName;
if(strFileName!="")
{
m.Attachments.Add(new MailAttachment(strFileName));
}
SmtpMail.Send(m);

MailMessage的主要属性

Form:源地址
To:目的地址
Subject:邮件主题
priority:邮件优先级
Attachements:附件
Bcc:暗送地址
Cc:抄送地址
Body:邮件内容主体
Bodyformat:邮件格式(Html,Text)
Bodyencoding:邮件编码(Base64,UUencode)

用Socket来实现Email系统

在Telnet下收发邮件
-POP3服务器 端口110
-SMTP服务器 端口25
常用命令:
-发送:
 Mail From
 Rcpt To
 Data
-收邮件:
 Stat:查询有几条新邮件
 Retr n:查询指定邮件内容
 Dele n:删除指定邮件

邮件收发系统

public class SMTP
{
 public SMTP(){}
 public bool Send(string strSmtpServer,int nPort,string strSend,string strReceive,string strSubject,string strContent)
 {
 string smtpserer = strSmtpServer;
 TcpClient tcpc = new TcpClient();
 try
 {
 tcpc.Connect(smtpserver,nPort);
 StreamReader sr;
 string strCmd;
 sr = new StreamReader(tcpc.GetStream(),Encoding.Default);
 //服务器连接成功以后,首先向服务器发送HELLO命令
 strCmd = "Hello guo!";
 SenSmtpCmd(tcpc,strCmd);
 //然后向服务器发送信件的成员的信箱
 strCmd = "mail from:"+strSend;
 SenSmtpCmd(tcpc,strCmd);
 //向服务器发送收件人的信箱
 SenSmtpCmd = "rcpt to:" +strReceive;
 SenSmtpCmd(tcpc,strCmd);
 //所有的准备工作都已经准备好了,下面开始进行邮件部分
 strCmd = "data";
 SenSmtpCmd(tcpc,strCmd);
 //邮件内容
 strCmd = "Date:1234567\r\n";
 strCmd = strCmd + "From:"+strSend +"\r\n";
 strCmd = strCmd + "To:" + strReceive +"\r\n";
 strCmd = strCmd +"Subject:"+strSubject +"\r\n\r\n";
 strCmd = strCmd +strContent +"\r\n\r\n";
 SenSmtpCmd(tcpc,strCmd);
 strCmd = "\r\n.\r\n";
 SenSmtpCmd(tcpc,strCmd);
 tcpc.Close();
 return true;
 }
 catch
 {
 return false;
 }
 }
}

void SenSmtpCmd(TcpClient tcpc,String strCmd)
{
 byte[] arrCmd;
 string strRet;
 StreamReader sr;
 Stream s;
 s = tcpc.GetStream();
 strCmd = strCmd+"\r\n";
 arrCmd = Encoding.Default.GetBytes(strCmd.ToCharArray());
 s = tcpc.GetStream():
 s.Write(arrCmd,0,strCmd.Length);
 //以下用于程序调试,显示服务器回应信息
 sr = new StreamReader(tcpc.GetStream(),Encoding.Default);
 strRet = sr.ReadLine();
 return;
}


未完待续。。。。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
右下角弹出flash广告的方法 - 网络安全、asp、asp.net编程发布时间:2022-07-10
下一篇:
转载:關於ASP.NET的Cache发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap