base64encode(filepath.substring(filepath.lastindexof("\\")+1))+"?=\""+crlf;
sendbufferstr += "content-transfer-encoding: base64"+crlf;
sendbufferstr += "content-disposition: attachment;"+crlf;
sendbufferstr += " filename=\"=?"+mailmessage.charset.toupper()+"?b?"+
base64encode(filepath.substring(filepath.lastindexof("\\")+1))+"?=\""+crlf+crlf;
sendbufferstr += getstream(filepath)+crlf+crlf;
}
sendbufferstr += "--====="+
(html?"001_dragon520636771063_":"001_dragon303406132050_")+"=====--"+crlf+crlf;
}
sendbufferstr += crlf + "." + crlf;//内容结束
if(!dialog(sendbufferstr,"错误信件信息"))
return false;
sendbufferstr="quit" + crlf;
if(!dialog(sendbufferstr,"断开连接时错误"))
return false;
networkstream.close();
tcpclient.close();
return true;
}
}
public class smtpmail
{
private static string _smtpserver;
/// <summary>
/// 格式:smtpaccount:password@smtpserveraddress<br>
/// 或者:smtpserveraddress<br>
/// <code>
/// smtpmail.smtpserver="user:12345678@smtp.126.com";
/// //或者:
/// smtpmail.smtpserver="smtp.126.com";
/// 或者:
/// smtpmail.smtpserver=smtpserverhelper.getsmtpserver("user","12345678","smtp.126.com");
/// </code>
/// </summary>
public static string smtpserver
{
set { _smtpserver=value;}
get { return _smtpserver;}
}
public static bool send(mailmessage mailmessage,string username,string password)
{
smtpserverhelper helper=new smtpserverhelper();
return helper.sendemail(_smtpserver,25,username,password,mailmessage);
}
}
#endregion
}
using system;
using nunit.framework;
namespace skydev.web.mail
{
/// <summary>
/// test 的摘要说明。
/// </summary>
[testfixture]
public class testsmtpmail
{
//安装测试用例,完成初始化操作
[setup]
public void setup()
{
}
//测试结束完成清理操作
[teardown]
public void teardown()
{
}
[test]
public void testmailattachments()
{
skydev.web.mail.mailattachments attachments=new mailattachments();
assert.areequal(0,attachments.count,"初始化mailattachments");
attachments.add("c:\\autoexec.bat");
assert.areequal(1,attachments.count,"增加附件(附件确实存在)");
attachments.add("c:\\autoexec.dat.txt");
assert.areequal(1,attachments.count,"增加附件(附件不存在)");
attachments.clear();
assert.areequal(0,attachments.count,"清除附件");
}
[test]
public void testmailmessage()
{
mailmessage message=new mailmessage();
assert.areequal(0,message.attachments.count,"初始化mailattachments");
assert.areequal(mailformat.text,message.bodyformat,"邮件格式");
assert.areequal("gb2312",message.charset,"缺省的字符集");
}
[test]
public void testsendmail()
{
smtpmail.smtpserver="smtp.126.com";
mailmessage mail=new mailmessage();
mail.from="qs1976@126.com";
mail.fromname="曾青松";
mail.addrecipients("qs1976@126.com");
mail.subject="主题:测试邮件";
mail.bodyformat=mailformat.text;
mail.body="测试的内容.";