我们常写web程序都会用到发邮件的功能,这里也就是做个备案。其实这个功能很简单,首先在Web.config 的<configuration>里加入:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network" from="sender@xxx.com" >
<network host="localhost" defaultCredentials="false" userName="sender@xxx.com" password="passowrd"/>
</smtp>
</mailSettings>
</system.net>
程序code:
SmtpSection cfg = ConfigurationManager.GetSection(@"system.net/mailSettings/smtp") as SmtpSection;
SmtpNetworkElement smtElement = cfg.Network;
//实例化一个邮件消息对象
MailMessage email;
string displayName="xxxx"; //email中的显示名
if (string.IsNullOrEmpty(displayName))
{
email = new MailMessage(_FromEmail, _ToEmail);
}
else
{
MailAddress fromMail = new MailAddress(_FromEmail, displayName, System.Text.Encoding.UTF8);
MailAddress toMail = new MailAddress(_ToEmail);
email = new MailMessage(fromMail, toMail);
//email.Sender = new MailAddress(_FromEmail, displayName, System.Text.Encoding.UTF8);
}
email.IsBodyHtml = isHtml;
email.Body = _Body;
email.Subject = _Subject;
email.BodyEncoding = System.Text.Encoding.UTF8;
//实例化smtp客服端对象,用来发送电子邮件
System.Net.Mail.SmtpClient stmp = new SmtpClient(smtElement.Host);
//设置是否需要发送是否需要身份验证,如果不需要下面的credentials是不需要的
if (smtElement.DefaultCredentials)
{
stmp.UseDefaultCredentials = true;
stmp.Credentials = new System.Net.NetworkCredential(smtElement.UserName, smtElement.Password);
}
//发送邮件
stmp.Send(email);