{ // 文本信息 WriteString (tcp.GetStream(), "--unique-boundary-2"); WriteString (tcp.GetStream(), "Content-Type: text/plain;charset=" + languageEncoding); WriteString (tcp.GetStream(), "Content-Transfer-Encoding:" + encoding); WriteString (tcp.GetStream(), ""); WriteString (tcp.GetStream(), body); WriteString (tcp.GetStream(), "");//一个部分写完之后就写如空信息,分段 WriteString (tcp.GetStream(), "--unique-boundary-2--");//分隔符的结束符号,尾巴后面多了-- WriteString (tcp.GetStream(), ""); } else { //html信息 WriteString (tcp.GetStream(), "--unique-boundary-2"); WriteString (tcp.GetStream(), "Content-Type: text/html;charset=" + languageEncoding); WriteString (tcp.GetStream(), "Content-Transfer-Encoding:" + encoding); WriteString (tcp.GetStream(), ""); WriteString (tcp.GetStream(), htmlBody); WriteString (tcp.GetStream(), ""); WriteString (tcp.GetStream(), "--unique-boundary-2--");//分隔符的结束符号,尾巴后面多了-- WriteString (tcp.GetStream(), ""); }
// 发送附件 // 对文件列表做循环 for (int i = 0; i < attachments.Count; i++) { WriteString (tcp.GetStream(), "--unique-boundary-1"); // 邮件内容分隔符 WriteString (tcp.GetStream(), "Content-Type: application/octet-stream;name=\"" + ((AttachmentInfo)attachments[i]).FileName + "\""); // 文件格式 WriteString (tcp.GetStream(), "Content-Transfer-Encoding: base64"); // 内容的编码 WriteString (tcp.GetStream(), "Content-Disposition:attachment;filename=\"" + ((AttachmentInfo)attachments[i]).FileName + "\""); // 文件名 WriteString (tcp.GetStream(), ""); WriteString (tcp.GetStream(), ((AttachmentInfo)attachments[i]).Bytes); // 写入文件的内容 WriteString (tcp.GetStream(), ""); }
Command (tcp.GetStream(), ".", "250"); // 最后写完了,输入"."
// 关闭连接 tcp.Close (); }
/// /// 向流中写入字符 /// /// 来自TcpClient的流 /// 写入的字符 protected void WriteString (NetworkStream netStream, string str) { str = str + "\r\n"; // 加入换行符
// 将命令行转化为byte[]
上一篇:使用ASP.NET开发邮件发送系统
下一篇:基于.NET的邮件解决方案
|