首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >电子邮件如何从SMTP发送到IMAP?

电子邮件如何从SMTP发送到IMAP?
EN

Stack Overflow用户
提问于 2015-06-28 15:02:19
回答 1查看 424关注 0票数 2

我正在编写IMAP服务器的程序,但遇到了一个问题:,电子邮件来自哪里?

我一直认为事情的基本过程是这样的:

  1. 发件人-客户端使用SMTP -协议向SMTP服务器(主机A)发送电子邮件;
  2. SMTP服务器(主机A)查找电子邮件应该发送的位置,并使用SMTP -协议与SMTP服务器(主机B)通信;
  3. SMTP-服务器(主机B)然后接受电子邮件,并与IMAP服务器(主机B)进行通信,以神奇的(?)将电子邮件发送到该服务器;
  4. 接收方客户端使用IMAP协议向IMAP服务器(主机B)请求新的电子邮件.

这让我想知道:电子邮件如何从接收SMTP服务器,到服务的IMAP服务器?他们有协议吗?他们会把它放在目录里吗?

我自己试图找到答案..。

我已经看到了/var/mail目录的用法- -每个用户-都有一个文件,这看起来并不适合大的用户群。当两个进程同时读取/写入时,这不也会引起问题吗?

我还看到后缀main.cf文件可能包含mailbox_transport = lmtp:unix:/var/imap/socket/lmtp,它看起来像使用unix与IMAP服务器通信的LMTP协议。哪个表示IMAP-服务器也在“说”LMTP?

还有其他方法在使用吗?还是其他协议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-28 17:20:25

从MTA (SMTP)服务器和IMAP服务器传输的最常见方法:

  1. SMTP和IMAP是由同一台或同一厂商的服务器提供的服务器--任何专有的(秘密/无文档)协议/方法都可以使用。 这不是常见的linux/unix解决方案
  2. LMTP协议(SMTP的轻微修改)-现代推荐
  3. MTA执行IMAP服务器提供的自定义程序,(通常)将消息输入到程序的标准输入中。
  4. 将消息放入每个用户的梅迪尔 (例如~/. maildir /),IMAP使用相同的(共享)邮件
  5. MTA将传入的消息放入每个用户邮箱文件(/var/mail/username)标准unix中,IMAP服务器将该文件用作收件箱文件夹。

棘手的部分是让MTA拒绝不存在的虚拟IMAP用户(没有每个电子邮件帐户OS帐户的电子邮件帐户)来回复SMTP会话中的RCPT TO:。MTA必须知道有效的虚拟邮箱。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31101230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档