接上
————————
//构造函数
public esmtpmail()
{
attachments = new system.collections.arraylist();
}
//—————–过程
/// <summary>
/// 添加邮件附件
/// </summary>
/// <param name="path">附件绝对路径</param>
public void addattachment(string path)
{
attachments.add(path);
}
/// <summary>
/// 添加一个收件人
/// </summary>
/// <param name="str">收件人地址</param>
public bool addrecipient(string str)
{
str=str.trim();
if(str==null||str==""||str.indexof("@")==-1)
return true;
if(recipientnum<recipientmaxnum)
{
recipient.add(recipientnum,str);
recipientnum++;
return true;
}
else
{
errmsg+="收件人过多";
return false;
}
}
/// <summary>
/// 添加一组收件人(不超过recipientmaxnum个),参数为字符串数组
/// </summary>
/// <param name="str">保存有收件人地址的字符串数组(不超过recipientmaxnum个)</param>
public bool addrecipient(string[] str)
{
for(int i=0;i<str.length;i++)
{
if(!addrecipient(str[i]))
{
return false;
}
}
return true;
}
/// <summary>
/// 发送邮件方法,所有参数均通过属性设置。
/// </summary>
public bool send()
{
if(recipient.count==0)
{
errmsg="收件人列表不能为空";
return false;
}
if(mailserver.trim()=="")
{
errmsg="必须指定smtp服务器";
return false;
}
return sendemail();
}
/// <summary>
/// 发送邮件方法
/// </summary>
/// <param name="smtpserver">smtp服务器信息,如"username:password@www.smtpserver.com:25",也可去掉部分次要信息,如"www.smtpserver.com"</param>
public bool send(string smtpserver)
{
maildomain=smtpserver;
return send();
}
/// <summary>
/// 发送邮件方法
/// </summary>
/// <param name="smtpserver">smtp服务器信息,如"username:password@www.smtpserver.com:25",也可去掉部分次要信息,如"www.smtpserver.com"</param>
/// <param name="from">发件人mail地址</param>
/// <param name="fromname">发件人姓名</param>
/// <param name="to">收件人地址</param>
/// <param name="toname">收件人姓名</param>
/// <param name="html">是否html邮件</param>
/// <param name="subject">邮件主题</param>
/// <param name="body">邮件正文</param>
public bool send(string smtpserver,string from,string fromname,string to,string toname,bool html,string subject,string body)
{
maildomain=smtpserver;
from=from;
fromname=fromname;
addrecipient(to);
recipientname=toname;
html=html;
subject=subject;
body=body;
return send();
}
