最新IBM水货笔记本价格,详细点击进入

查看完整版本: .net发送邮件的一些技巧

风舞残阳 2008-4-2 13:43

.net发送邮件的一些技巧

用System.Web.Mail发送邮件,适用于.net1.1,.net2.0请用System.Net.Mail

先引用System.Web
1,发送简单邮件
[b][C#][/b]MailMessagemail=newMailMessage();
mail.To="me@mycompany.com";
mail.From="you@yourcompany.com";
mail.Subject="thisisatestemail.";
mail.Body="thisismytestemailbody";
SmtpMail.SmtpServer="localhost";//yourrealservergoeshere
SmtpMail.Send(mail);
[b][VB.NET][/b]DimmailAsNewMailMessage()
mail.To="me@mycompany.com"
mail.From="you@yourcompany.com"
mail.Subject="thisisatestemail."
mail.Body="thisismytestemailbody"
SmtpMail.SmtpServer="localhost"'yourrealservergoeshere
SmtpMail.Send(mail)

这里的smtpserver只能是那些不需要验证的smtp服务器,像126,sina,yahoo等等的邮箱,都需要验证,所以不能用。用这些邮箱发信后面会讲到


2,发送Html邮件
[b][C#][/b]
MailMessagemail=newMailMessage();
mail.To="me@mycompany.com";
mail.From="you@yourcompany.com";
mail.Subject="thisisatestemail.";
mail.BodyFormat=MailFormat.Html;
mail.Body="thisismytestemailbody.%26lt;br%26gt;%26lt;b%26gt;thispartisinbold%26lt;/b%26gt;";
SmtpMail.SmtpServer="localhost";//yourrealservergoeshere
SmtpMail.Send(mail);


[b][VB.NET][/b]
DimmailAsNewMailMessage()
mail.To="me@mycompany.com"
mail.From="you@yourcompany.com"
mail.Subject="thisisatestemail."
mail.BodyFormat=MailFormat.Html
mail.Body="thisismytestemailbody.%26lt;br%26gt;%26lt;b%26gt;thispartisinbold%26lt;/b%26gt;"
SmtpMail.SmtpServer="localhost"'yourrealservergoeshere
SmtpMail.Send(mail)

3,发送附件
[b][C#][/b]MailMessagemail=newMailMessage();
mail.To="me@mycompany.com";
mail.From="you@yourcompany.com";
mail.Subject="thisisatestemail.";
mail.Body="thisismytestemailbody.";
MailAttachmentattachment=newMailAttachment(Server.MapPath("test.txt"));//createtheattachment
mail.Attachments.Add(attachment);//addtheattachment
SmtpMail.SmtpServer="localhost";//yourrealservergoeshere
SmtpMail.Send(mail);
[b][VB.NET][/b]DimmailAsNewMailMessage()
mail.To="me@mycompany.com"
mail.From="you@yourcompany.com"
mail.Subject="thisisatestemail."
mail.Body="thisismytestemailbody."
DimattachmentAsNewMailAttachment(Server.MapPath("test.txt"))'createtheattachment
mail.Attachments.Add(attachment)'addtheattachment
SmtpMail.SmtpServer="localhost"'yourrealservergoeshere
SmtpMail.Send(mail)

4,修改发件人和收件人的名称
比如发件人的地址是abc@126.com,我们用outlook收到信,From一栏里将直接显示abc@126.com.
能不能在From一栏里显示友好一点的名字呢?
比如显示TonyGong

方法如下:
[b][C#][/b]
MailMessagemail=newMailMessage();
mail.To="\"John\"%26lt;me@mycompany.com%26gt;";
mail.From="\"TonyGong\"%26lt;you@yourcompany.com%26gt;";
mail.Subject="thisisatestemail.";
mail.Body="thisismytestemailbody.";
SmtpMail.SmtpServer="localhost";//yourrealservergoeshere
SmtpMail.Send(mail);


[b][VB.NET][/b]
DimmailAsNewMailMessage()
mail.To="""John""%26lt;me@mycompany.com%26gt;"
mail.From="""TonyGong""%26lt;you@yourcompany.com%26gt;"
mail.Subject="thisisatestemail."
mail.Body="thisismytestemailbody."
SmtpMail.SmtpServer="localhost"'yourrealservergoeshere
SmtpMail.Send(mail)

5,发送给多人
[b][C#][/b]MailMessagemail=newMailMessage();
mail.To="me@mycompany.com;him@hiscompany.com;her@hercompany.com";
mail.From="you@yourcompany.com";
mail.Subject="thisisatestemail.";
mail.Body="thisismytestemailbody.";
SmtpMail.SmtpServer="localhost";//yourrealservergoeshere
SmtpMail.Send(mail);
[b][VB.NET][/b]DimmailAsNewMailMessage()
mail.To="me@mycompany.com;him@hiscompany.com;her@hercompany.com"
mail.From="you@yourcompany.com"
mail.Subject="thisisatestemail."
mail.Body="thisismytestemailbody."
SmtpMail.SmtpServer="localhost"'yourrealservergoeshere
SmtpMail.Send(mail)
6,用需要Smtp验证的邮箱发信
现在为了防止垃圾邮件,绝大部分Smtp服务器需要验证了
发信方法如下:
[b][C#][/b]MailMessagemail=newMailMessage();
mail.To="me@mycompany.com";
mail.From="abc@126.com";
mail.Subject="thisisatestemail.";
mail.Body="Sometextgoeshere";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");//basicauthentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","abc");//setyourusernamehere
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","yourpassword");//setyourpasswordhere

SmtpMail.SmtpServer="smtp.126.com";//yourrealservergoeshere
SmtpMail.Send(mail);




[b][VB.NET][/b]
DimmailAsNewMailMessage()
mail.To="me@mycompany.com"
mail.From="abc@126.com"
mail.Subject="thisisatestemail."
mail.Body="Sometextgoeshere"
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1")'basicauthentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","abc")'setyourusernamehere
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","YourPassword")'setyourpasswordhere
SmtpMail.SmtpServer="smtp.126.com"'yourrealservergoeshere
SmtpMail.Send(mail)



7,修改smtp服务器的端口,以及使用SSL加密
大部分smtp服务器的端口是25,但有些却不是
同时,绝大部分Smtp服务器不需要SSL登陆,有些却需要
比如Gmail,smtp端口是:465,同时支持SSL
代码如下:

[b][C#][/b]

MailMessagemail=newMailMessage();
mail.To="me@mycompany.com";
mail.From="abc@126.com";
mail.Subject="thisisatestemail.";
mail.Body="Sometextgoeshere";
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");//basicauthentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","abc");//setyourusernamehere
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","yourpassword");//setyourpasswordhere

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";//yourrealservergoeshere
SmtpMail.Send(mail);








[b][VB.NET][/b]


DimmailAsNewMailMessage()
mail.To="me@mycompany.com"
mail.From="abc@126.com"
mail.Subject="thisisatestemail."
mail.Body="Sometextgoeshere"
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1")'basicauthentication
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername","abc")'setyourusernamehere
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword","YourPassword")'setyourpasswordhere

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"'yourrealservergoeshere
SmtpMail.Send(mail)
页: [1]
查看完整版本: .net发送邮件的一些技巧