outlook 如何从自己的写的服务器接收邮件?完全不懂啊?!

cart55free99 2010-12-28 10:10:08
outlook 如何从自己的写的服务器接收邮件?
老师的要求是自己写一个邮件服务器, Outlook 能够向其中发送邮件,还可以从中间取邮件。
发邮件勉强有些头绪, 收邮件就不明白了。

比如在我的数据库中 对邮件已经有了分类, 未读, 草稿, 已读。。。。
用Outlook连接hotmail 或者是其他邮箱的时候, 就会把这些邮件载入进来并且分放到 未读 草稿中去。

那我自己写的服务器怎么知道Outlook是通过怎么样的标识 将这些邮件取出 并且依次放到应该放的位置呢?
比如我取未读邮件的方法是 findUnRead() Outlook怎么知道这个方法就是取未读邮件呢?

还是说 取出未读邮件 都是有统一的方法 供OutLook调用?
那这个方法怎么写呢?


假设我调用了 findUnRead() 方法, 找到了未读邮件, 我应该给Outlook怎么样的信息 它才能接受我返回的邮件呢?

再就是我的服务器怎么取到Outlook的账户名和密码呢?


刚接触这个, 关键字都不知道怎么搜索。
望各位给点提示 (*^__^*)



...全文
1112 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
weish5 2013-07-11
  • 打赏
  • 举报
回复
自己写一个邮件服务器, Outlook 能够向其中发送邮件,还可以从中间取邮件?想找这样的代码很久了,希望lz能提供点代码我参考参考
py330316117 2011-01-06
  • 打赏
  • 举报
回复
最后回答下楼主最开始问的问题:outlook 如何从自己的写的服务器接收邮件?


我说了这么多你就该知道了,你的问题本身就有问题,我们接收邮件不是用的服务器,而是客户端,服务器接收邮件唯一做的就是把它存到数据库中,然后服务器为我们提供smtp协议(发送邮件),pop3协议(接收邮件),这些都是客户端做的。

我要说的是我们什么都不用编写,只要把hMailServer设置好,自己设定个smtp地址,就能把自己的电脑编程smtp服务器,outlook只要像访问其他邮箱一样访问这个地址就能接受邮件了。

所以我得出一个结论,你们老师让你写的是一个类似outlook的客户端,然后这个客户端再发展就是一个网络邮箱。

outlook客户端你可以参考我的博客就知道如何写了。网络邮箱的我有个企业开发的全代码文件包,如果你想要就把e-mail地址留给我吧!(可以用你自己写的发送邮件的程序给我啊!!哈哈!!)
py330316117 2011-01-06
  • 打赏
  • 举报
回复
1.在javamail编写之前需要构建一个本地的邮件服务器系统。下载hMailServer进行安装。
设置自己的e-mail地址。(这里安装之后就让你自选一个database了,也就是说邮件发来了自动存在database中(至于怎么存储的你不需要知道),也就是说java邮件编程需要做的不是构建你所说的服务器,因为服务器都是用别的语言编的,我们直接拿过来用,我们只需要编写像outlook这样的客户端或者是网页邮箱那种(大多数公司是编写网页,然后在后台服务器上安装一个邮件服务器,设置好他的smtp和pop3协议)。)
2.邮件发送客户端。smtp协议。
3.接收邮件端。pop3和imap协议。你的问题也主要是在这个地方。
javamail api 中定义了客户端接收和处理邮件的类,主要应用的类有store类和folder类。store类实现特定邮件协议上的读、写、监视、查找等操作,floder类是用于分级组织和管理电子邮件的,并且floder类提供了按照java.mail.Message的格式访问电子邮件的能力。通过floder类完成对邮件服务器中电子邮件的其他管理操作,例如:通过GetMessageCount()方法显示邮箱中总共有多少封信;通过getNewMessageCount()显示邮箱中新邮件的封数;通过getUnreadMessageCount()显示邮箱中已读邮件的封数等
py330316117 2011-01-05
  • 打赏
  • 举报
回复
不好意思啊,2天没有更新,让linux给我闹的,装个mysql我用了3天,这几天没怎么更新java mail啊!别着急从明天就开始全力解决它。
cart55free99 2011-01-03
  • 打赏
  • 举报
回复
大家去看看我另一个帖子啊, 都没有人回复

http://topic.csdn.net/u/20110101/23/c4ec857b-8bf6-43d7-b610-305c4daaf329.html?0792227062176031
py330316117 2011-01-03
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 cart55free99 的回复:]

问题基本有点头绪了 很感谢大家的意见, 虽然和我问的不同。
[/Quote]

我知道你问的是服务器的开发,我从最底层的研究可以更好的理解java mail的开发,服务器的开发我会再以后几天更新。

下面是“渔”:http://blog.csdn.net/py330316117/archive/2011/01/03/6114086.aspx
适合所有项目开发(自学文档)。
cart55free99 2011-01-03
  • 打赏
  • 举报
回复
问题基本有点头绪了 很感谢大家的意见, 虽然和我问的不同。
py330316117 2011-01-03
  • 打赏
  • 举报
回复
今天更新了发送邮件的java类。经试验是成功的,我会陆续更新邮件服务器等功能的类。
http://blog.csdn.net/py330316117/archive/2010/12/31/6109608.aspx
py330316117 2011-01-02
  • 打赏
  • 举报
回复
暂时先更新到javamail的介绍,连接gmail的稍微有点困难,我还会继续更新的。
Qm155 2011-01-02
  • 打赏
  • 举报
回复
我也好好学习一下
cart55free99 2011-01-01
  • 打赏
  • 举报
回复
谢谢楼上各位, 原理是基本上明白了, 但是出现了很多不一样的东西, 调试老半天了。。

Outlook 会给我这么一个信息 UIDL 但是搜索很久, 似乎没有人有这个信息呀,

之后的 LIST 都接收不到了,再读客户端传来的数据 都是 “” 也就就是什么都没有了。
py330316117 2010-12-31
  • 打赏
  • 举报
回复
今天更新了下利用免费smtp服务器发送邮件的工作原理,可以去我的blog看看。
http://blog.csdn.net/py330316117/archive/2010/12/31/6109608.aspx
lfm613625 2010-12-31
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 gl74gs48 的回复:]
javamail是没有任何邮件服务器功能的,它其实就是收发邮件的客户端,类似OUTLOOK
如果要开发邮件服务器就用James,参考http://www.open-open.com/open26736.htm
[/Quote]


+1
py330316117 2010-12-31
  • 打赏
  • 举报
回复
新文章地址http://blog.csdn.net/py330316117/archive/2010/12/31/6109608.aspx以前那个让我误删了。。
py330316117 2010-12-30
  • 打赏
  • 举报
回复
我会在我的blog上持续更新我开发javamail的新内容,有些东西就不在论坛里面发了(图片实在太多了= =!)
http://blog.csdn.net/py330316117/archive/2010/12/30/6107633.aspx
py330316117 2010-12-30
  • 打赏
  • 举报
回复
曾经邮件服务器的开发很赚钱,如丁磊就是做邮件服务发家的。

比较有意义的项目时将邮件内容发布成bbs的帖子。

办公自动化项目(OA)都要附带发送邮件的功能,如发送通知等。

许多网站项目也都需要附带发送邮件的功能,如:给新注册的用户自动发送一封包含其注册信息的欢迎E-Mail、给过生日的注册会员自动发送一封表示祝贺的E-Mail、将网站的最新活动信息通过E-Mail发送给所有的注册会员。

主要分为:发送与接收邮件、创建与解析邮件内容。

邮件服务器主要提供以下功能:

(1)接收用户投递的邮件;

(2)将用户投递进来的邮件转发给目标邮件服务器;

(3)接收其他邮件服务器转发来的邮件并把邮件存储到其管理的用户邮中;

(4)为前来读取邮件的用户提供读取服务。

邮件服务器按通讯协议可以划分为:

(1)SMTP服务器。用于替用户发送邮件和接收外面发送给本地用户的邮件。

(2)POP3/IMAP服务器。用于帮助用户读取SMTP服务器接收进来的该用户的邮件。




先给你个思路,我也需要慢慢研究,这个问题很有研究价值啊,我会每天更新下学习情况,希望能给你带来些启发,你的学习知识点也希望能发上来,大家一起研究下。
py330316117 2010-12-29
  • 打赏
  • 举报
回复
试试7楼哥们的怎么样,我也学习下。
阿甘1976 2010-12-29
  • 打赏
  • 举报
回复
javamail是没有任何邮件服务器功能的,它其实就是收发邮件的客户端,类似OUTLOOK
如果要开发邮件服务器就用James,参考http://www.open-open.com/open26736.htm
ilrxx 2010-12-29
  • 打赏
  • 举报
回复
这是一个发送邮件的例子,需要javamail的jar包支持,可以网上去找下,这个可以用自己的邮箱去给自己发邮件,我用我公司的邮箱做过测试

package com.test.appdemo;

import java.io.UnsupportedEncodingException;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class JavaMailTest {

/**
* @param args
*/
public static void main(String[] args) {
String host = "mail.XXX.com";
String username = "XXX@XXX.com";
String password = "XXX";
String from = "XXX@XXX.com";
Properties props = new Properties();
Session session = Session.getInstance(props, null);
session.setDebug(true);
MimeMessage mimeMessage = new MimeMessage(session);
try {
mimeMessage.setSubject("Java Mail Test");
mimeMessage.setText("This is a java mail test.");
Address address = new InternetAddress(from, "XXX");
mimeMessage.setFrom(address);
mimeMessage.addRecipient(Message.RecipientType.TO, address);
mimeMessage.saveChanges();
Transport transport = session.getTransport("smtp");
transport.connect(host, username, password);
transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients());
transport.close();
} catch (MessagingException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}

}

cart55free99 2010-12-29
  • 打赏
  • 举报
回复
总算输出了一句话 AUTH 这是什么意思? 文档上根本没有这个AUTH啊!
加载更多回复(6)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧