.NetSystem.Web.Mail发送邮件
原创转自 : http://blog.163.com/hao_2468/blog/static/130881568201141251642215/
net System.Web.Mail发送邮件
用System.Web.Mail发送电子邮件.net1.1。net2.0请用System.Net.Mail
先引用System.Web
1,发送简单的电子邮件
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
SmtpMail.SmtpServer = "localhost"; //your real server goes here
SmtpMail.Send( mail );
这里的smtpserver仅那些不需要验证的smtp服务器,如126,sina,yahoo等待的电子邮件地址都需要验证,因此无法使用。稍后将讨论使用这些电子邮件地址发送电子邮件
2,发送Html邮件
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.BodyFormat = MailFormat.Html;
mail.Body = "this is my test email body.
this part is in bold";
SmtpMail.SmtpServer = "localhost"; //your real server goes here
SmtpMail.Send( mail );
3,发送附件
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body.";
MailAttachment attachment = new MailAttachment( Server.MapPath( "test.txt" ) ); //create the attachment
mail.Attachments.Add( attachment ); //add the attachment
SmtpMail.SmtpServer = "localhost"; //your real server goes here
SmtpMail.Send( mail );
4修改发件人和收件人的姓名
例如,发件人的地址是abc@126.com,我们用outlook收到信,From该列将直接显示abc@126.com.
能不能在From一列中显示的友好名称呢?
比如显示Tony Gong
方法如下:
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "\"John\" me@mycompany.com";
mail.From = "\"Tony Gong\" you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body.";
SmtpMail.SmtpServer = "localhost"; //your real server goes here
SmtpMail.Send( mail );
5,发送给多人
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com;him@hiscompany.com;her@hercompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body.";
SmtpMail.SmtpServer = "localhost"; //your real server goes here
SmtpMail.Send( mail );
6,用需要Smtp已验证的电子邮件发送
现在,为了防止垃圾邮件,绝大多数Smtp服务器需要验证
发送方式如下:
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "abc@126.com";
mail.Subject = "this is a test email.";
mail.Body = "Some text goes here";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc"); //set your username here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your password"); //set your password here
SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here
SmtpMail.Send( mail );
7,修改smtp服务器的端口及其用法SSL加密
大部分smtp服务器的端口是25但有些不是
同时,绝大多数Smtp服务器不需要SSL登录,有些需要
比如Gmail,smtp端口是:465,同时还支持SSL
代码如下:
[ C# ]
MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "abc@126.com";
mail.Subject = "this is a test email.";
mail.Body = "Some text goes here";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "abc"); //set your username here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "your password"); //set your password here
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport",465);
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here
SmtpMail.Send( mail );
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123

