/// <summary>
/// 使用指定的smtp服务器发送email
/// </summary>
/// <param name="MailTo">接收Email地址</param>
/// <param name="MailFrom">发送翻Email地址</param>
/// <param name="MailSubject">邮件主题</param>
/// <param name="MailBody">邮件内容</param>
/// <param name="isHtml">是否为Html格式</param>
/// <param name="SmtpServerAddress">smtp服务器</param>
/// <param name="SmtpUserName">smtp服务器上的用户名</param>
/// <param name="SmtpUserPassWord">smtp服务器上的密码</param>
/// <returns>布尔值表示发送成功与否</returns>
public static bool SendEmail(string MailTo,string MailFrom,string MailSubject,string MailBody,bool isHtml,string SmtpServerAddress,string SmtpUserName,string SmtpUserPassWord)
{
bool isOk =false;
MailMessage myMail = new MailMessage();
myMail.BodyEncoding = Encoding.GetEncoding("GB2312");
myMail.BodyFormat = (isHtml) ? MailFormat.Html:MailFormat.Text;
myMail.To = MailTo;
myMail.From = MailFrom;
myMail.Subject = MailSubject;
myMail.Body = MailBody;
myMail.Priority = MailPriority.High;
if(SmtpUserName != null && SmtpUserPassWord != null)
{
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", SmtpUserName); //Smtp Server 上的用户名
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", SmtpUserPassWord); //Smtp Server 上的密码
}
SmtpMail.SmtpServer = SmtpServerAddress;//Smtp Server 地址
try
{
SmtpMail.Send(myMail);
isOk = true;
}
catch
{
}
return isOk;
}
/// 使用指定的smtp服务器发送email
/// </summary>
/// <param name="MailTo">接收Email地址</param>
/// <param name="MailFrom">发送翻Email地址</param>
/// <param name="MailSubject">邮件主题</param>
/// <param name="MailBody">邮件内容</param>
/// <param name="isHtml">是否为Html格式</param>
/// <param name="SmtpServerAddress">smtp服务器</param>
/// <param name="SmtpUserName">smtp服务器上的用户名</param>
/// <param name="SmtpUserPassWord">smtp服务器上的密码</param>
/// <returns>布尔值表示发送成功与否</returns>
public static bool SendEmail(string MailTo,string MailFrom,string MailSubject,string MailBody,bool isHtml,string SmtpServerAddress,string SmtpUserName,string SmtpUserPassWord)
{
bool isOk =false;
MailMessage myMail = new MailMessage();
myMail.BodyEncoding = Encoding.GetEncoding("GB2312");
myMail.BodyFormat = (isHtml) ? MailFormat.Html:MailFormat.Text;
myMail.To = MailTo;
myMail.From = MailFrom;
myMail.Subject = MailSubject;
myMail.Body = MailBody;
myMail.Priority = MailPriority.High;
if(SmtpUserName != null && SmtpUserPassWord != null)
{
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", SmtpUserName); //Smtp Server 上的用户名
myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", SmtpUserPassWord); //Smtp Server 上的密码
}
SmtpMail.SmtpServer = SmtpServerAddress;//Smtp Server 地址
try
{
SmtpMail.Send(myMail);
isOk = true;
}
catch
{
}
return isOk;
}
http://www.lumisoft.ee/lsWWW/ENG/Products/Mail_Server/mail_index_eng.aspx?type=download
由于SMTP封装在System.web.Mail中,winForm很难调用,所以只能写socket程序来实现
里面有SMTP,POP3的例子。
http://blog.csdn.net/zhzuo/archive/2004/07/12/39459.aspx
《c#.net 网络核心编程》此书极烂,代码没有价值,不用看。
代码如下:
jmail.MessageClass myMail=new jmail.MessageClass();
myMail.Charset="GB2312";
myMail.Silent=true;
myMail.Priority=3;
myMail.MailServerUserName="[email protected]";
myMail.MailServerPassWord="*****";
myMail.From="[email protected]";
myMail.AddRecipient("[email protected]","testzhang","");
myMail.Subject="this is a test";
myMail.Body="this is a test ,author is zhangzhenliang";
myMail.Send("smtp.126.com",false);