知识大全 支持ESMTP身份验证的邮件发送
Posted 内容
篇首语:恐惧自己受苦的人,已经因为自己的恐惧在受苦。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 支持ESMTP身份验证的邮件发送相关的知识,希望对你有一定的参考价值。
支持ESMTP身份验证的邮件发送 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
使用 NET Framework下的System Net Mail SmtpClient可以很容易的实现邮件发送 但现在很多邮件服务器已经支持ESMTP协议 而ESMTP最大的区别在于发送时需要提供帐号密码做验证 ESMTP通过流的方式发送命令与服务器交互 完成邮件的发送与接受 更多关于SMTP的命令请参考 <>
下面是一个简单的示例 (没有做任何判断与封装 仅供参考)
代码
string smtp = ;
string from = ;
string pwd = pwd ;
string to = ;
//建立链接
TcpClient tc = new TcpClient(smtp );
byte[] b = new byte[ ];
tc GetStream() Read(b b Length);
Response Write(Encoding UTF GetString(b)+ <br/> );
//标识身份
WriteMsg(tc GetStream() HELO xxxx\\r\\n );
Response Write(ReadMsg(tc GetStream()) + <br/> );
//身份验证开始
WriteMsg(tc GetStream() AUTH LOGIN\\r\\n );
Response Write(ReadMsg(tc GetStream()) + <br/> );
//帐号 base 编码
byte[] bTxt=new byte[ ];
bTxt=Encoding UTF GetBytes(from);
WriteMsg(tc GetStream() Convert ToBase String(bTxt)+ \\r\\n );
Response Write(ReadMsg(tc GetStream()) + <br/> );
//密码base 编码
bTxt=Encoding UTF GetBytes(pwd);
WriteMsg(tc GetStream() Convert ToBase String(bTxt) + \\r\\n );
Response Write(ReadMsg(tc GetStream()) + <br/> );
//身份验证结束
//发送邮件地址
WriteMsg(tc GetStream() string Format( MAIL FROM: \\r\\n from));
Response Write(ReadMsg(tc GetStream()) + <br/> );
//接受邮件地址 可以有多个RCPT TO
WriteMsg(tc GetStream() string Format( RCPT TO: \\r\\n to));
Response Write(ReadMsg(tc GetStream()) + <br/> );
//初如化
WriteMsg(tc GetStream() DATA \\r\\n );
Response Write(ReadMsg(tc GetStream()) + <br/> );
//邮件内容
StringBuilder sb = new StringBuilder();
sb AppendFormat( From: \\r\\n from);//发信人
sb AppendFormat( To: \\r\\n to);//收信人 可以有多个 用分号隔开 这两行可以与上面的MAIL FROM和RCPT TO不同(显示在邮件内容里的)
sb AppendFormat( Date: \\r\\n DateTime Now ToString());//时间
sb AppendFormat( Subject: \\r\\n 测试 );//主题
sb Append( \\r\\n );
sb Append( 内容 ); //正文
sb Append( \\r\\n \\r\\n );
WriteMsg(tc GetStream() sb ToString());
Response Write(ReadMsg(tc GetStream()) + <br/> );
//结束会话
WriteMsg(tc GetStream() QUIT );
//关闭链接
tc Close();
如果运行正常 上面的返回状态依次为
ESMTP CMailServer SMTP Service Ready
wele here
VXNlcm hbWU
UGFzc dvcmQ
OK
OK
OK
send the mail data end with
cha138/Article/program/net/201311/13700相关参考
先添加引入命名空间SystemNetMail 组件代码: ///<summary> ///邮件发送组件 ///</summary> publicclassEmai
要实现邮箱的发送需要一个已知账号和密码的邮箱并且开通了STMPPOP服务常见主流邮箱邮件收取和发送popstmp服务配置汇总介绍一文中详细介绍了各个邮箱开通服务的步骤 &nb
java实现邮件的发送分享方法如下 publicclassPopupAuthenticatorextendsAuthenticator publicPasswordAuthentication
.NET邮件发送 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! usingSystem;&nbs
Java发送邮件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 记得曾经学习用javamail发
使用JavaMail实现邮件发送 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! im
知识大全 QQ三国会员 邮件发送附件能发送三国币吗拜托各位大神
QQ三国会员邮件发送附件能发送三国币吗拜托各位大神 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!QQ
如何使用JSP来发送邮件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! MESSAGEJSP
我们经常看到在一些博客页面里可以发表评论通过电子邮件通知版主(例如咱们的博客园)那么如何用发送电子邮件呢?我们可以借助NET提供的强大的类库达到目的 首先我们要引入SystemWebMail命名
Spring整合Quartz定时发送邮件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 功能描述