C#开发基于ESMTP协议的邮件发送系统经验总结
2010-09-30 21:02:02 来源:WEB开发网一旦获得正常的响应后,就一步步向服务器发送请求命令或者数据来完成其他操作的。
发送命令的函数就是写入网络流的方式,通过下面的命令实现的
/// <summary>
/// 发送SMTP命令
/// </summary>
protected bool SendCommand(string Command)
{
byte[] WriteBuffer;
if (Command == null || Command.Trim() == "")
{
return true;
}
//logs+=Command;
WriteBuffer = Encoding.Default.GetBytes(Command);
try
{
ns.Write(WriteBuffer, 0, WriteBuffer.Length);
}
catch
{
errmsg = "网络连接错误";
return false;
}
return true;
}
ESMTP的特点就是需要验证用户,一旦验证用户通过后,用户就可以通过发送各类命令或者数据了,下面简单列出几个命令格式,其他的大家可以查询相关资料进行完成。
//发件人信息
SendBufferstr = "MAIL FROM:<" + From + ">" + enter;
if (!Dialog(SendBufferstr, "发件人地址错误,或不能为空"))
return false;
//收件人列表
SendBuffer.Clear();
foreach (String item in Recipient)
{
SendBuffer.Add("RCPT TO:<" + item + ">" + enter);
RecipientName = item;//这里其实只能支持一个收件人
}
if (!Dialog(SendBuffer, "收件人地址有误"))
return false;
使用这个发送邮件,连最难对付的QQ邮箱也飞快的接收到了我的邮件了,不过大家不要滥发邮件,毕竟“实名制”的方式就是要对后果负责的。呵呵。
- ››基于IP地址的vsftp服务器
- ››开发Android 日历教程
- ››开发学院总结 Win 8实用技巧大全
- ››开发学院原创教程:把win8的IE10放桌面上方法(非...
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››开发者眼中的Windows Phone和Android
- ››开发学院教你用SQL 语句最快速清空MySQL 数据表的...
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
更多精彩
赞助商链接