net如何建立企业或个人邮箱
来源:互联网 发布:ubuntu eclipse ndk 编辑:程序博客网 时间:2024/03/29 20:50
******************************************
系统设计语言:ASP.NET(C#)
系统所需框架:Jmail(企业版:JMail44_pro)
功能:实现发送和接收邮件
日期:2007年3月8日
来源:http://blog.163.com/xiaohui_liu0406
说明:163邮件端口 110(POP3), 25(SMTP)
******************************************
在.NET FRAMEWORK 2.0 中自带有邮件发送的功能,但不能实现邮件的接收,而且该功能局限于个人用户,所以有必要借助第三方来实现邮件的接发。由于发送比较简单,这里就不说了。
先来认识一下Jmail。W3 JMail v4.4 Professional 是一个 COM 的组件,在免费版只能实现发送功能。具体的说明在BAIDU搜索。
private void ReciveEMailByJmail()
{
首先建立收邮件对象,有两种方式,分别为POP3和SMTP。在程序中根据自己的需求任意选一,具体方法如下:
jmail.POP3Class popMail = new POP3Class();
jmail.SMTPClass smtpMail = new SMTPClass();
其次,建立邮件信息接口,该接口实现邮件的通讯,用它来获得邮件的所有信息,同时,建立附件集接口和附件接口,用来接收多个附件。
jmail.Message mailMessage;
jmail.Attachments atts;
jmail.Attachment att;
下面是主体部分。
try{
连接那个邮箱的参数,本文以163为例。该对象的Connect方法有4个参数,没有重载。分别为绑定邮箱的地址、密码、服务器名称、端口。用户可以退换进行赋值。
popMail.Connect("xiaohui_liu0406@163.com", "psd", "pop3.163.com", 110);
连接上后,下面来判断是否如果收到邮件。popMail.Count属性指邮件的数量。
if (0 < popMail.Count)
{
根据取到的邮件数量依次取得每封邮件
for (int i = 1; i <= popMail.Count; i++)
{
通过循环取得每一条邮件信息
mailMessage = popMail.Messages[i];
取得该邮件的附件集合
atts = mailMessage.Attachments;
设置邮件的编码方式
mailMessage.Charset = "GB2312";
设置邮件的附件编码方式
mailMessage.Encoding = "Base64";
是否将信头编码成iso-8859-1字符集
mailMessage.ISOEncodeHeaders = false;
邮件的优先级,这里txtpriority.Text要求用户自己设置。
+++++++++++++++++++++++++++++++++++++++
优先级. 范围在1-5之间
1 高优先级. 有些邮件程序称之为紧急
2 也是高优先级
3 普通优先级
4 低优先级
5 最低的优先级
如:JMail.Priority = 3
+++++++++++++++++++++++++++++++++++++++++
txtpriority.Text = mailMessage.Priority.ToString();
邮件的发送人的信箱地址,txtSendMail.Text 为用户自己输入。以下类似。->>
txtSendMail.Text = mailMessage.From;
邮件的发送人
txtSender.Text = mailMessage.FromName;
邮件主题
txtSubject.Text = mailMessage.Subject;
邮件内容
txtBody.Text = mailMessage.Body;
邮件大小
txtSize.Text = mailMessage.Size.ToString();
取所有附件。进行循环分别获取。
for (int j = 0; j < atts.Count; j++)
{
取得附件
att = atts[j];
附件名称
string attname = att.Name;
保存路径。这里是保存在本机。
att.SaveToFile("d://AtlasStudy//" + attname);
}
}
清除缓存
att = null;
atts = null;
}
else
{
Response.Write("没有新邮件!");
}
销毁对象,断开连接。
popMail.DeleteMessages();
popMail.Disconnect();
popMail = null;
}
catch
{
Response.Write("Warning!请检查邮件服务器的设置是否正确!");
}
}
以上程序在互联网上比较流行,明显有好多的不足,譬如:不知道邮件是否是最新的,每次连接都要把所有的邮件都下载到本地,没有实现与数据库的交互等等,那么这些就需要用户自己进行二次开发,我相信看了以上的解释说明,建立企业邮箱不远了。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
如何只接收没接收过的邮件。
接收所有邮件是能接收的。现在有几种思路:
一种思路是:记录最后下载时间,查看pop3.Messages(i).Date(发送时间)是否比现有时间新,如果新就下载。可是每次都要下载下来读,和下载整个邮件时间差不多。
一种思路是:用 pop3.GetLastUnreadMessage ,可是有些服务器不支持。
- net如何建立企业或个人邮箱
- 个人或企业如何制作精美的电子杂志?
- 如何建立企业网站
- 如何建立个人品牌
- 如何建立个人博客?
- 如何建立个人网站?
- 个人或企业网站建设备案不备案有区别?如何备案?
- 技术人员如何建立个人品牌
- 技术人员如何建立个人品牌
- 技术人员如何建立个人品牌
- [转]如何建立个人品牌
- 如何从零开始建立个人网站
- 如何建立个人博客网站
- 个人邮箱
- 如何去建立Linux企业集群
- 公司及企业如何建立网站
- 为个人或企业用户创建 iOS 描述文件
- 个人或企业开发一款app需要多少钱?
- 图片经过指定时间变化一次
- Junit基本教程
- 欧美震惊:中国“一反常态”大出击的真实原因
- 解读软件2.0思想框架 把握技术发展趋势
- 搜索引擎算法研究(四)
- net如何建立企业或个人邮箱
- MBA案例分析(管理之道在于“借力”三)
- JavaScript小技巧之如何在网页上使用history和forward
- 第一周--星期四
- DateField绑定日期控件
- 搜索引擎算法研究(五)
- perhaps
- MBA案例分析(管理之道在于“借力”四)
- 辞职后