gmail的smtp采用了ssl连接:
Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication)
Use Authentication: Yes
Use STARTTLS: Yes (some clients call this SSL)
Port: 465 or 587
知道了gmail的发信细节,用System.Net.Mail,就是下面这段代码就可以了
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Mail;

namespace GMailSend


{
class Program

{
static void Main(string[] args)

{
try

{
Program prg = new Program();
prg.Host = "smtp.gmail.com";
prg.SmtpUsername = "zhangshanyou@gmail.com";
prg.SmtpPassword = "xxxxxxxx";
prg.Port = 587;
prg.Send("zhangshanyou@gmail.com","33235911@qq.com", "test", "test", null, null);
}
catch (Exception ex)

{
Console.WriteLine(ex.Message);

}
Console.Read();
}

private string _host;

public string Host

{

get
{ return _host; }

set
{ _host = value; }
}
private int _port;

public int Port

{

get
{ return _port; }

set
{ _port = value; }
}
private string _smtpUsername;

public string SmtpUsername

{

get
{ return _smtpUsername; }

set
{ _smtpUsername = value; }
}
private string _smtpPassword;

public string SmtpPassword

{

get
{ return _smtpPassword; }

set
{ _smtpPassword = value; }
}

public void Send(string from, string to, string subject, string body, string[] cc, string[] bcc)

{
// Create mail message
MailMessage message = new MailMessage(from, to, subject, body);
message.BodyEncoding = Encoding.GetEncoding(936);

if (cc != null && cc.Length > 0)

{
foreach (string ccAddress in cc)

{
message.CC.Add(new MailAddress(ccAddress));
}
}
if (bcc != null && bcc.Length > 0)

{
foreach (string bccAddress in bcc)

{
message.Bcc.Add(new MailAddress(bccAddress));
}
}

// Send email
SmtpClient client = new SmtpClient(this._host, this._port);
if (!String.IsNullOrEmpty(this._smtpUsername) && !String.IsNullOrEmpty(this._smtpPassword))

{
client.Credentials = new NetworkCredential(this._smtpUsername, this._smtpPassword);
}
client.EnableSsl = true;

client.Send(message);
}

}
}
