使用offlineimap时如何发送邮件?

使用offlineimap时如何发送邮件?

我只使用过像 Thunderbird 这样的 GUI 邮件客户端,并且想尝试将离线地图与 alpine 一起使用。然而我对这一切如何联系在一起感到困惑。

据我了解:

一旦我使用我的帐户配置offlineimap,它将转到每个相应的服务器并使用IMAP将我的邮件镜像到本地文件夹,例如~/mail/gmail.想必我可以使用任何邮件客户端来阅读这些电子邮件,如果我对它们进行更改(例如标记为已读或在文件夹之间移动),它们将在下次离线映射同步时推送到服务器。

但是发送邮件呢?我对电子邮件的工作原理有点模糊,但是,它看起来像:

IMAP 仅用于下载/上传要存储在我的邮件提供商服务器上的邮件。所以IMAP实际上不能发送邮件。邮件使用 SMTP 发送。在许多客户端中,当您单击“发送邮件”时,实际发生的情况是您撰写的邮件通过 SMTP 发送并且邮件客户端将邮件的副本保存到您帐户的“已发送”文件夹中,该文件夹将通过 IMAP 传播。

所以我的问题是:

  1. 我上面的理解正确吗?
  2. 如果我使用offlineimap,谁会真正通过SMTP 发送我的外发邮件?我是否会设置一些单独的“发送电子邮件”程序来定期检查我的“传出”文件夹并通过 SMTP 发送其中的所有内容(它如何知道要使用哪个 SMTP 服务器和帐户)?或者我仍然需要在 alpine 中设置 SMTP 服务器/凭据吗?

答案1

是的,IMAP 是一种用于访问存储在另一台计算机上的邮箱内容的协议,它与电子邮件发送、路由和传递本身无关。

SMTP 是通过网络发送电子邮件的协议。

要发送电子邮件,您可以将它们提交到您计算机上的本地邮件服务器(前提是有一个并且已正确配置为接受和路由电子邮件),在这种情况下可以通过 SMTP 或使用命令来完成sendmail,或者提交到另一台邮件服务器通过网络。

您可以配置本地邮件服务器(exim、postfix...)以直接向收件人发送电子邮件,但如今,您发送的这些电子邮件可能会被收件人服务器视为垃圾邮件,特别是如果您自己的地址来自以下域:是知名电子邮件提供商的电子邮件,因此不建议使用。

如果您通过 IMAP 访问邮箱,而不是访问计算机上由本地邮件服务器传递邮件的本地邮箱,则表明您的电子邮件是由某些第三方邮件提供商处理的。除了 imap 访问之外,这些电子邮件提供商还会提供服务器地址,您可以在经过身份验证后向其提交电子邮件。

理论上,您可以配置本地邮件服务器,以便它通过该提供商的 smtp 服务器将电子邮件中继到外部收件人,使用您系统上所有用户的凭据,但您可能会觉得这听起来像是一个坏主意,如果仅从一个问责的观点。

更好的做法是让系统上的每个用户配置他们的邮件用户代理(他们的邮件客户端应用程序,无论是 Thunderbird、Evolution 还是 mutt/pine/mailx...),将所有电子邮件直接提交给他们的邮件提供商,每个邮件提供商都有自己的凭据。

您需要确保启用加密。通常,此类电子邮件提交是通过 SMTP 完成的,但使用端口 587(相应的服务称为submission)而不是 25(该端口是为邮件中继保留的),并且通过使用 STARTTLS SMTP 命令启用加密。通常还可以通过 TCP 端口 465 ( smtps) 上的 TLS 直接联系邮件提交服务器。

每个 MUA 都有自己的方式来配置邮件发送。例如,使用mutt,您可以添加:

set smtp_url="smtps://user:[email protected]"

或者:

set smtp_url="smtp://user:[email protected]:587"

(并确保ssl_force_tlsssl_starttls设置yes为默认值)。

到您的~/.muttrc(或更安全地配置它以从某个安全的密码库获取密码)。

相关内容