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

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

2007-06-09 23:29 555 查看
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 = "[email]zhangshanyou@gmail.com[/email]";


prg.SmtpPassword = "xxxxxxxx";


prg.Port = 587;


prg.Send("[email]zhangshanyou@gmail.com[/email]","[email]33235911@qq.com[/email]", "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);




}




}


}



自由、创新、研究、探索……
Url: http://shanyou.cnblogs.com
website: http://www.openbeta.cn

Feedback

#1楼 回复 引用 查看

2007-06-10 00:19 by Student [未注册用户]
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));
}
}

//能解释一下这段代码吗?
谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息