在 Arch Linux 上设置邮件客户端

在 Arch Linux 上设置邮件客户端

我想在 Arch Linux 的基本安装中使用命令行邮件客户端,无论是 mail 还是 mutt 或其他实用程序。我读到这些只是邮件客户端,这意味着我们还必须安装邮件传输代理。我尝试配置 exim,但没有成功。还有其他可以轻松配置的实用程序吗?如何配置?

答案1

Postfix 非常容易配置,尤其是通过“智能主机”(Gmail 或 ISP 等)进行中继。


为 Gmail 配置 Postfix:

  1. 更新/etc/postfix/main.cf

    compatibility_level = 2
    inet_interfaces = loopback-only
    relayhost = [smtp.gmail.com]:587
    # NOTE: the CAfile/CApath is distro-dependent!
    smtp_tls_CApath = /etc/ssl/certs
    smtp_tls_loglevel = 1
    smtp_tls_security_level = verify
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    
  2. 创造/etc/postfix/sasl_passwd

    [smtp.gmail.com]:587     [email protected]:JoesSekritPassword
    
  3. 以 root 身份运行:

    postmap /etc/postfix/sasl_passwd
    chmod 640 /etc/postfix/sasl_passwd*
    chgrp postfix /etc/postfix/sasl_passwd*
    
  4. 告诉 Postfix 重新加载配置:

    postfix reload
    

Exim 也不错,只要您忽略所有 Debian 特定的教程及其宏废话。

还有msmtpesmtp,可以仅有的使用智能主机,因此不需要作为守护进程运行。它们也更容易配置,尤其适用于多用户环境。


如果你正在寻找该mail命令,请确保你使用的是heirloom-mailx或 GNU mailutils。(经典版本bsd-mailx可用,但缺少许多功能,例如 Maildir 或 MIME 支持。)不过,我还是更喜欢 mutt。

答案2

基本电子邮件需要三样东西:

  • 一个程序格式 RFC 822 电子邮件您即将发送
  • 一个程序发送(RFC 822)格式的电子邮件通过 SMTP(邮件提交代理 - MSA,或邮件传输代理 - MTA)发送到您的邮件中继/提交系统
  • 一个程序访问您的远程邮箱对于远程保存的草稿、收件箱等,可以使用 IMAP、POP、SMAP,rsyncing 到本地 mbox 或 maildir,或者仅仅使用sshfs使所述 mbox 或 maildir 在文件系统上可用(邮件用户代理 - MUA,通常捆绑第一个组件)

如果您看到术语“邮件投递代理”(MDA),请忽略它。这是为那些创建自己的服务的人提供的服务器端程序。

您可能已经拥有 MUA(、、mutt等),以及第三个组件。MSAmailxalpine可能也内置于您的 MUA 的同一程序中。请看以下内容。

  • 例如,对于官方的 Arch Linuxmutt包,最简单的配置(见muttrc(5)):

    # MUA part
    set folder = "imaps://[email protected]" # shortcut so that I can use relative
                                       # names for $spoolfile, etc.
    set spoolfile = "=INBOX"
    set record = "=Sent Messages"
    set postponed = "=Drafts"
    
    set from = "[email protected]"
    
    # MSA/MTA part
    set smtp_url = "smtp://[email protected]" # or `[email protected]@example.com`
                                            # if the server requires a fully
                                            # qualified user name, say because it
                                            # serves multiple domains
    
  • 我从未使用过 alpine,但 Arch Wiki 有一个页面上

  • 对于 mailx (heirloom-mailx包,我相信以下内容~/.mailrc(参见mailx(1))就可以了。用来mailx -A example.com告诉 mailx 使用该帐户。

    account example.com {
        set folder=imaps://[email protected]
        set imap-auth=login
        set record=+Sent
            set 
    
        set smtp=example.com
        set smtp-auth=plain # or whatever your server uses
        set smtp-auth-user=foo
    
        set from="[email protected] (Foo Bar)"
        set hostname=example.com
    }
    

现在,如果您仍想使用传统的独立 MTA 方法,请继续阅读。由于大多数传统的 MUA(如 mutt 或 mailx)都可以使用该sendmail接口(即,它们只是将邮件传送到sendmail二进制文件,而您仅有的发送邮件,无需设置完整的邮件服务器,使用蜻蜓邮局,而不是下载完整的服务器(如 Postfix 或 sendmail)。它位于 AUR 中。它只在您实际发送邮件时才起作用,并且只运行(即,它不是守护进程)。它在 处提供了一个包装器二进制文件/usr/bin/sendmail。假设您使用的是开放中继,则无需配置。如果您使用的是需要 SMTP AUTH 的中继(您可能经常听到术语 SASL,这部分准确),您可以执行以下操作:

文件/etc/dma/auth.conf

some user|some mail relay or submission system:password

文件/etc/dma/dma.conf(除了默认已有的内容之外):

SMARTHOST=hostname or IP address of smarthost or submission system or mail relay

不过,您可能需要相应地配置您的 MUA。如果我没记错的话,mailx不需要mutt额外的配置。

答案3

我认为语音邮件非常棒,尽管我不相信我们可以在脚本中发送文件......比如我最喜欢的技巧,即在工作完成时向自己发送电子邮件通知。但如果您只是在寻找基于文本的 Gmail 前端,那么就是它了。

答案4

ssmtp 是一个非常轻量级、易于配置的 MTA。

相关内容