// 由于每次写入的数据大小是有限制的,那么我们将每次写入的数据长度定在75个字节,一旦命令长度超过了75,就分步写入。
int start=0;
int length=bWrite.Length;
int page=0;
int size=75;
int count=size;
try
{
if (length>75)
{
// 数据分页
if ((length/size)*size<length)
page=length/size+1;
else
page=length/size;
for (int i=0;i<page;i++)
{
start=i*size;
if (i==page-1)
count=length-(i*size);
netStream.Write(bWrite,start,count);// 将数据写入到服务器上
}
}
else
netStream.Write(bWrite,0,bWrite.Length);
}
catch(Exception)
{
// 忽略错误
}
}
namespace JcPersonal.Utility
{
using System;
using System.Collections;
using System.Net.Sockets;
using System.IO;
using System.Text;
/// <summary>
/// Mail 发送器
/// </summary>
public class MailSender
{
/// <summary>
/// SMTP服务器域名
/// </summary>
public string Server {
get { return server; }
set { if (value != server) server = value; }
} private string server = "";
/// <summary>
/// SMTP服务器端口 [默认为25]
/// </summary>
public int Port {
get { return port; }
set { if (value != port) port = value; }
} private int port = 25;
/// <summary>
/// 用户名 [如果需要身份验证的话]
/// </summary>
public string UserName {
get { return userName; }
set { if (value != userName) userName = value; }
} private string userName = "";
/// <summary>
/// 密码 [如果需要身份验证的话]
/// </summary>
public string Password {
get { return password; }
set { if (value != password) password = value; }
} private string password = "";
/// <summary>
/// 发件人地址
/// </summary>
public string From {
get { return from; }
set { if (value != from) from = value;}
} private string from = "";
/// <summary>
/// 收件人地址
/// </summary>
public string To {
get { return to; }
set { if (value != to) to = value;}
} private string to = "";
/// <summary>
/// 发件人姓名
/// </summary>
public string FromName {
get { return fromName; }
set { if (value != fromName) fromName = value; }
} private string fromName = "";
/// <summary>
/// 收件人姓名
/// </summary>
public string ToName {
get { return toName; }
set { if (value != toName) toName = value; }
} private string toName = "";
/// <summary>
/// 邮件的主题
/// </summary>
public string Subject {
get { return subject; }
set { if (value != subject) subject = value; }
} private string subject = "";
/// <summary>
/// 邮件正文
/// </summary>
public string Body {
get { return body; }
set { if (value != body) body = value; }
} private string body = "";
/// <summary>
/// 超文本格式的邮件正文
/// </summary>
public string HtmlBody {
get { return htmlBody; }
set { if (value != htmlBody) htmlBody = value; }
} private string htmlBody = "";
/// <summary>
/// 是否是html格式的邮件
/// </summary>
public bool IsHtml {
get { return isHtml; }
set { if (value != isHtml) isHtml = value; }
} private bool isHtml = false;
/// <summary>
/// 语言编码 [默认为GB2312]
/// </summary>
public string LanguageEncoding {
get { return languageEncoding; }
set { if (value != languageEncoding) languageEncoding = value; }
} private string languageEncoding = "GB2312";
/// <summary>
/// 邮件编码 [默认为8bit]
/// </summary>
public string MailEncoding {
get { return encoding; }
set { if (value != encoding) encoding = value; }
} private string encoding = "8bit";
/// <summary>
/// 邮件优先级 [默认为3]
/// </summary>
public int Priority {
get { return priority; }
set { if (value != priority) priority = value; }
} private int priority = 3;
/// <summary>
/// 附件 [AttachmentInfo]
/// </summary>
public IList Attachments {
get { return attachments; }
// set { if (value != attachments) attachments = value; }
} private ArrayList attachments = new ArrayList ();
//value=0 :Anonymous
//value=1 :basic (clear-text) authentication.
//The configuration sendusername/sendpassword or postusername/postpassword fields are used to specify credentials.)
//Value=2 NTLM(Secure Password Authentication in Microsoft Outlook Express)
adoFields[prefix + "smtpauthenticate"].Value=1;
// smtpserver:you should get it from configuration file
adoFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value=smtp;
adoFields.Update();
// user's email
cdoMsg.To = sendTo;
// email from
// oMsg.From = " ";
// email subject
cdoMsg.Subject = mailSubject;
// email body
// put user's temporary password between <body> and </body>
cdoMsg.HTMLBody = "<html><body>Your new password is "+ mailContent+"</body></html>";