Play this article
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 代码:
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);
}
}
}