邮件发送类,带连接测试、错误处理类(2)

2008-04-09 04:14:23来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折


bteData = Convert.FromBase64String(Data);
return Encoding.Default.GetString(bteData);
}

/// <summary>
/// 发送邮件
/// </summary>
/// <param name="SmtpHost">SMTP服务器</param>
/// <param name="Port">SMTP服务器端口</param>
/// <param name="From">邮件发送者</param>
/// <param name="DisplayFromName">显示的发送者名称</param>
/// <param name="Authentication">是否进行认证</param>
/// <param name="UserName">认证用户名</param>
/// <param name="Password">认证密码</param>
/// <param name="To">邮件接收者</param>
/// <param name="DisplayToName">显示的接收者名称</param>
/// <param name="Priority">优先级</param>
/// <param name="HTML">是否为HTML</param>
/// <param name="Base">URL</param>
/// <param name="Subject">邮件主题</param>
/// <param name="Message">邮件内容</param>
public void SendMail(string SmtpHost,int Port,string From,string DisplayFromName,bool Authentication,string UserName,string Password,string To,string DisplayToName,Prioritys Priority,bool HTML,string Base,string Subject,string Message)
{
try
{
string strResponseNumber;
SMTPClient smtpcMail = new SMTPClient();
smtpcMail.Connect(SmtpHost,Port);
bool bolConnect = smtpcMail.isConnected();

//判断是否进行了连接
if (!bolConnect)
{
strErrMessage = "Smtp服务器连接失败...";
return;
}

//读取反馈信息
strResponseNumber = smtpcMail.GetServerResponse();
if (smtpcMail.DoesStringContainSMTPCode(strResponseNumber,"220"))
{
this.strResponse = strResponseNumber;
}
else
{
this.strErrMessage = "连接失败" strResponseNumber;
return ;
}

int intBuffer = 0;
int intArray = 0;
if(Authentication)
{
intBuffer = 9;
}
else
{
intBuffer = 6;
}
string[] strSendBuffer = new string[intBuffer];
string[] strResponseCode = {"220","250","251","354","221","334","235"}; // success codes from SMTP server

string strData = "";
strData = string.Concat("HELO ",SmtpHost);
strData = string.Concat(strData,"\r\n");
strSendBuffer[intArray] = strData;
intArray = intArray 1;

if(Authentication)
{
strData = "";
strData = string.Concat("AUTH LOGIN","\r\n");
strData = string.Concat(strData,"\r\n");
strSendBuffer[intArray] = strData;
intArray = intArray 1;

strData = "";
strData = string.Concat(Encode(UserName),"\r\n");
strData = string.Concat(strData,"\r\n");
strSendBuffer[intArray] = strData;
intArray = intArray 1;

strData = "";
strData = string.Concat(Encode(Password),"\r\n");
strData = string.Concat(strData,"\r\n");
strSendBuffer[intArray] = strData;
intArray = intArray 1;
}

strData = "";
strData = string.Concat("MAIL FROM: ","<" From ">" "AUTH=" From);
strData = string.Concat(strData,"\r\n");
strSendBuffer[intArray] = strData;
intArray = intArray 1;

strData = "";
strData = string.Concat("RCPT TO: ","<" To ">");
strData = string.Concat(strData,"\r\n");
strSendBuffer[intArray] = strData;
intArray = intArray 1;

strData = "" ;
strData = string.Concat("DATA","\r\n");
strSendBuffer[intArray] = strData ;
intArray = intArray 1;

strData = "" ;
strData = string.Concat("From: ",DisplayFromName "<" From ">");

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:远离黑客十条永恒的安全法则

下一篇:使用W3 JMail实现邮件发送的解决方案