邮件发送

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

先引用System.Web;

2.0引用System.Net; MailAttachment改成Attachment


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 );

2,发送附件
[ 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" ) );
mail.Attachments.Add( attachment );
SmtpMail.SmtpServer = "localhost"; //your real server goes here
SmtpMail.Send( mail );

3,发送给多人
[ 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 );


4,用需要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 );


5,修改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 );

回答者: aries1001 - 高级魔法师 六级    9-26 15:50
评价已经被关闭     目前有 0 个人评价
<script></script>

50% (0)
不好
50% (0)

其他回答     6
打开自己的信箱——写信——收信人地址——书写信件内容——保存到草稿箱(保存已发送)——发信。
回答者: 一段 - 举人 四级    9-25 16:00
电子邮件的工作原理?
电子邮件的工作过程遵循客户-服务器模式。每份电子邮件的发送都要涉及到发送方与接收方,发送方式构成客户端,而接收方构成服务器,服务器含有众多用户的电子信箱。发送方通过邮件客户程序,将编辑好的电子邮件向邮局服务器(SMTP服务器)发送。邮局服务器识别接收者的地址,并向管理该地址的邮件服务器(POP3服务器)发送消息。邮件服务器识将消息存放在接收者的电子信箱内,并告知接收者有新邮件到来。接收者通过邮件客户程序连接到服务器后,就会看到服务器的通知,进而打开自己的电子信箱来查收邮件。

通常Internet上的个人用户不能直接接收电子邮件,而是通过申请ISP主机的一个电子信箱,由ISP主机负责电子邮件的接收。一旦有用户的电子邮件到来,ISP主机就将邮件移到用户的电子信箱内,并通知用户有新邮件。因此,当发送一条电子邮件给一另一个客户时,电子邮件首先从用户计算机发送到ISP主机,再到Internet,再到收件人的ISP主机,最后到收件人的个人计算机。

ISP主机起着“邮局”的作用,管理着众多用户的电子信箱。每个用户的电子信箱实际上就是用户所申请的帐号名。每个用户的电子邮件信箱都要占用ISP主机一定容量的硬盘空间,由于这一空间是有限的,因此用户要定期查收和阅读电子信箱中的邮件,以便腾出空间来接收新的邮件。

电子邮件在发送与接收过程中都要遵循SMTP、POP3等协议,这些协议确保了电子邮件在各种不同系统之间的传输。其中,SMTP负责电子邮件的发送,而POP3则用于接收Internet上的电子邮件。 http://www.sinonets.com.cn/csc/helpcenter/Show_Help.asp?SerialNo=000103

电子邮件工作原理

在Internet上将一段文本信息从一台计算机传送到另一台计算机上,可通过两种协议来完成,即SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)和POP3(Post Office Protocol,邮局协议3)。SMTP是Internet协议集中的邮件标准。在Internet上能够接收电子邮件的服务器都有SMTP。电子邮件在发送前,发件方的SMTP服务器与接收方的SMTP服务器联系,确认接收方准备好了,则开始邮件传递;若没有准备好,发送服务器便会等待,并在一段时间后继续与接收方邮件服务器联系。这种方式在Internet上称为“存储——转发”方式。POP3可允许E-mail客户向某一SMTP服务器发送电子邮件,另外,也可以接收来自SMTP服务器的电子邮件。换句话说,电子邮件在客户PC机与服务提供商之间的传递是通过P0P3来完成的,而电子邮件在Internet上的传递则是通过SMTP来实现。
http://202.119.2.197/courses/%E4%B8%93%E5%8D%87%E6%9C%AC/%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1/%E7%94%B5%E5%AD%90%E5%95%86%E5%8A%A1%E6%A6%82%E8%AE%BA/WebCourse/CH5/ch5-4-1C.htm


电子邮件的工作原理http://sq.k12.com.cn/bbs/index.php?t=msg&th=219129&start=30&rid=0


电子邮件的工作原理——这个是博客
电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。如下图所示:
更进一步的解释涉及到以下几个概念:
MUA -- Mail User Agent, 邮件用户代理,帮助用户读写邮件;
MTA -- Mail Transport Agent, 邮件传输代理,负责把邮件由一个服务器传到另一个服务
器或邮件投递代理;
MDA -- Mail Delivery Agent, 邮件投递代理,把邮件放到用户的邮箱里。
整个邮件传输过程如下:
目前使用的SMTP 协议是存储转发协议,意味着它允许邮件通过一系列的服务器发送到最终目的地。服务器在一个队列中存储到达的邮件,等待发送到下一个目的地。下一个目的地可以是本地用户,或者是另一个邮件服务器,如下图所示。
如果下游的服务器暂时不可用,MTA 就暂时在队列中保存信件,并在以后尝试发送。
http://wolfchina.blogchina.com/wolfchina/4950995.html

电子邮件的原理和Outlook Express的使用
1、电子邮件的原理
1.1、电子邮件的发送和接收
电子邮件在Internet上发送和接收的原理可以很形象地用我们日常生活中邮寄包裹来形容:当我们要寄一个包裹的时候,我们首先要找到任何一个有这项业务的邮局,在填写完收件人姓名、地址等等之后包裹就寄出而到了收件人所在地的邮局,那么对方取包裹的时候就必须去这个邮局才能取出。同样的,当我们发送电子邮件的时候,这封邮件是由邮件发送服务器(任何一个都可以)发出,并根据收信人的地址判断对方的邮件接收服务器而将这封信发送到该服务器上,收信人要收取邮件也只能访问这个服务器才能够完成。

1.2、电子邮件地址的构成
电子邮件地址的格式是“USER@SERVER.COM”,由三部分组成。第一部分“USER”代表用户信箱的帐号,对于同一个邮件接收服务器来说,这个帐号必须是唯一的;第二部分“@”是分隔符;第三部分“SERVER.COM”是用户信箱的邮件接收服务器域名,用以标志其所在的位置。
http://www.cscec8b.com.cn/show.asp?id=157&lb=pxyd



电子邮件的收发原理是什么
电子邮件的收发过程类似于普通邮局的收发信件。邮件并不是从发送者的计算机直接发送到收信者的计算机,而是通过收信者的邮件服务器收到该邮件,将其存放在收件人的电子信箱内。对于拨号用户,ISP(网络服务供应商)的主机负责电子邮件的接收和发送工作,此主机就是上面所说的服务器。 通常收件者的服务器在其主机硬盘上为每人开辟一定容量的磁盘空间作为"电子信箱",当有新邮件到来时,就将其暂存在电子信箱中供用户查收、阅读。电子信箱容量有限,所以用户应注意定期对电子信箱中的信件进行处理,以腾出空间来接收新的电子邮件,如果邮箱已满,则无法继续接收邮件。 http://pcweb.jnsms.com/xxjs/gao-1/gao-2/gao-3/gao1/zlk-gao1/left-25.htm
参考资料:http://zhidao.baidu.com/question/13674363.html
回答者: 秋枫浩月 - 江湖新秀 四级    9-25 16:09
我晕!
100分你就可以得到这么多功能阿?!睡醒了没有?!

我倒是有!可是太少了,不实惠!
回答者: zyhomepage - 经理 五级    9-25 16:53
C#:
MailMessage message =
new MailMessage("发件人邮箱", "收件人邮箱", "主题", "内容");
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;

SmtpClient client = new SmtpClient("smtp@163.com");
client.UseDefaultCredentials = false;
client.Credentials =
new System.Net.NetworkCredential("发件人邮箱", "发件人密码");
client.DeliveryMethod = SmtpDeliveryMethod.Network;

client.Send(message);


参考资料:aries1001
回答者: boyce2 - 试用期 一级    9-25 21:50
string to = txtmailto.Text.Trim();
string head = txthead.Text.Trim();
string body = FreeTextBox1.Text;
MailMessage mail = new MailMessage("12666954@163.com", to);
mail.Subject = head;
mail.Body = body;
SmtpClient client = new SmtpClient("smtp.163.com");
client.Credentials = new System.Net.NetworkCredential("163用户", "密码");
client.DeliveryMethod = SmtpDeliveryMethod.Network;
if (FileUpload1.HasFile)
{
Attachment maila = new Attachment(FileUpload1.PostedFile.FileName);
mail.Attachments.Add(maila);
}
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
mail.BodyEncoding = System.Text.Encoding.UTF8;

client.Send(mail);
err.Text = "发送成功";
回答者: 12666954 - 见习魔法师 三级    9-25 22:32
大四刚开学,在公司实习,刚做完一个固定资产管理系统,其中有自动发邮件的功能,代码在公司电脑里,明天上班发过来,你的smtp服务器配置好了么?

这是代码
using System.Net;
using System.Net.Mail;
using System.Net.Security;//引用这三个就够了

public static bool SendMail(string sSub, string sContent)
{
bool EmailSmtpNeedAuth = true;
string EmailFrom = "TianQinReader@domain.net.cn";//自行修改
string EmailTo = "peiyucn@gmail.com";//自行修改
string EmailSmtpServer = "mail.cpic.net.cn";//自行修改
string EmailSmtpUserName = "username";//自行修改
string EmailSmtpUserPassword = "password";//自行修改
string sTemp;

MailMessage mail = new MailMessage();

SmtpClient smtp = new SmtpClient();

mail.From = new MailAddress(EmailFrom, "固定资产管理系统", System.Text.Encoding.UTF8);

mail.To.Add(EmailTo);

sTemp = EmailSmtpServer;
if (sTemp == null || sTemp.Length == 0)
{
throw new Exception("请选设置SMTP服务器的参数!");
}
else
{
smtp.Host = sTemp; // 设置smtp服务器
}

if (EmailSmtpNeedAuth)
{
smtp.Credentials = new NetworkCredential(EmailSmtpUserName, EmailSmtpUserPassword);
}

mail.Subject = sSub;

mail.Body = sContent;

try
{
smtp.Send(mail);
}
catch
{
return false;
}
return true;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值