您的位置:首页 > 大数据 > 人工智能

使用System.Net.Mail通过gmail发送电子邮件

2007-06-09 23:15 627 查看
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);





}




}


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: