当前位置: 首页 > 知识库问答 >
问题:

电子邮件如何从SMTP到IMAP?

柴嘉石
2023-03-14

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

我一直认为事件的基本过程是:

  1. 发送方客户端使用SMTP协议向SMTP服务器(主机A)发送电子邮件

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

我见过/var/mail目录的用法——每个用户有一个文件——它似乎不适合大型用户群。当两个进程同时读/写数据时,它不会也会引起问题吗?

我还看到Postfixmain.cf文件可能包含mailbox_transport=lmtp: unix:/var/imap/套接字/lmtp,它看起来像LMTP协议用于使用unix与IMAP服务器通信插座。这将表明IMAP服务器也在“说话”LMTP?

是否使用了其他方法?或者其他协议?

共有1个答案

华森
2023-03-14

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

>

  • SMTP和IMAP是由同一台服务器或同一供应商的服务器提供的服务器-可以使用任何专有(机密/未记录的)协议/方法
    [AFAIK这不是常见的linux/unix解决方案]

    LMTP协议(对SMTP稍作修改)-现代建议

    MTA执行IMAP服务器提供的自定义程序,并(通常)将消息输入到程序的标准输入中

    MTA将消息放入每个用户的Maildir(例如~/.Maildir/)中,IMAP使用相同的(共享)Maildir

    MTA将传入的邮件放入标准的unix每个用户邮箱文件(/var/mail/username),IMAP服务器将该文件用作收件箱文件夹

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

  •  类似资料:
    • 你好;我正在使用s.o上给出的答案进行smtp邮件;(如果搜索,相信这是第一个结果) 但我仍然没有收到邮件;任何人都可以帮助发现任何错误或提供替代解决方案吗?我已经使用了内置的邮件程序,但它没有被认证,请参阅 -

    • 以下代码https://stackoverflow.com/a/3649148一直有效,直到最近谷歌改变了他们的安全政策,它才被打破。 我收到了来自谷歌的邮件 你好,xxx,有人刚刚试图登录你的Google帐户xxx@gmail.com来自不符合现代安全标准的应用程序。 我们强烈建议您使用Gmail等安全应用程序访问您的帐户。Google制作的所有应用程序都符合这些安全标准。另一方面,使用不太安全

    • 我使用的PHPMailer表格在这里找到。 从网站下载的示例是“接触-3”,在引导主题中使用PHPMailer通过gmail发送SMTP电子邮件。当我使用“接触-1”时,它完全适用于我的托管域电子邮件地址,但SMTP版本适用于gmail地址,联系人表单不会提交。 在下面的代码中,我更改了以下行以添加我的gmail地址和gmail密码: 任何关于使用给定信息进行此工作的帮助都将不胜感激-提前感谢!

    • 问题内容: 问题答案: $config = Array( ‘protocol’ => ‘smtp’, ‘smtp_host’ => 'ssl://smtp.googlemail.com’, ‘smtp_port’ => 465, ‘smtp_user’ => ‘xxx’, ‘smtp_pass’ => ‘xxx’, ‘mailtype’ => ‘html’, ‘charset’ => ‘iso-8