c#发送邮件.net1.1和.net2.0中的两个方法

.net1.1
using System.Web.Mail;
使用:
SendSMTPEMail("100.100.100.100", "[email protected]", "xxxx", "[email protected]", "webtest", TextBox1.Text, null, null);
方法体:
public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody, string bcc, string cc)
        {
            System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();
            mail.BodyFormat = MailFormat.Html;
            mail.From = strFrom;
            mail.To = strto;    //多个收件人之间用分号分割
            mail.Bcc = bcc;
            mail.Cc = cc;
            mail.Subject = "mail test!!!";
            mail.Body = TextBox1.Text;
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", strFrom);
            mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", strFromPass);

            System.Web.Mail.MailAttachment attachment = new System.Web.Mail.MailAttachment("c:\\log.log");
            mail.Attachments.Add(attachment);
            SmtpMail.SmtpServer = strSmtpServer;
            SmtpMail.Send(mail);
        }

/// <summary>
  /// 发送邮件
  /// </summary>
  /// <param name="to">收件人邮件地址</param>
  /// <param name="from">发件人邮件地址</param>
  /// <param name="subject">邮件主题</param>
  /// <param name="body">邮件内容</param>
  /// <param name="username">登录smtp主机时用到的用户名,注意是邮件地址'@'以前的部分</param>
  /// <param name="password">登录smtp主机时用到的用户密码</param>
  /// <param name="smtpHost">发送邮件用到的smtp主机</param>
  public void Send(string to, string from, string subject, string body, string username, string password, string smtpHost)
  {
   MailMessage mail = new MailMessage();
   mail.To = to;//设置收件人地址
   mail.From = from;//设置发件人地址
   mail.Subject = subject;//设置邮件主题
   mail.BodyFormat = MailFormat.Html;//设置邮件以HTML格式发送
   mail.Body = body;//设置邮件内容   
   //设置发送邮件时需要身份验证
   mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
   //设置登录邮件主机时的用户名,注意如果发件人地址是[email protected],则用户名是abc而不是[email protected]
   mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", userName);
   //设置登录SMTP主机的用户密码
   mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", password);
   //设置发送邮件的SMTP主机
   SmtpMail.SmtpServer = smtpHost;
   //发送邮件,如果发送不成功会抛出异常
   SmtpMail.Send(mail);
  }

.net2.0
using System.Net.Mail;
使用:
SendSMTPEMail("100.100.100.100", "[email protected]", "xxxx", "[email protected]", "webtest", TextBox1.Text, null, null);
方法体:
 public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
        {
            System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer);
            client.UseDefaultCredentials = false;
            client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
            client.DeliveryMethod = SmtpDeliveryMethod.Network;

            System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(strFrom, strto, strSubject, strBody);
            System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment("c:\\log.log");
            message.Attachments.Add(attachment);
            message.BodyEncoding = System.Text.Encoding.UTF8;
            message.IsBodyHtml = true;
            client.Send(message);
        }

你可能感兴趣的:(.net)