Настройка почтового клиента в Arch Linux

6187
pineapple

Я хочу использовать почтовый клиент командной строки в базовой установке Arch Linux, либо mail, либо mutt, либо какую-либо другую утилиту. Я читал, что это только почтовые клиенты, значит, вместе с ними мы должны также установить агентов пересылки почты. Я пытался настроить exim, но это не сработало. Есть ли другая утилита, которую можно легко настроить и как ее настроить?

4

4 ответа на вопрос

4
grawity

Postfix довольно прост в настройке, особенно для ретрансляции через «умный хост» (Gmail или ISP или любой другой).


Настройка Postfix для Gmail:

  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 joe@gmail.com: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 и их бессмысленные макросы.

Также есть msmtpи esmtp, которые могут использовать только смарт-хост, поэтому его не нужно запускать как демон. Их также гораздо проще настроить, особенно для многопользовательских сред.


Если вы ищете mailкоманду, убедитесь, что вы получили либо heirloom-mailxGNU, либо mailutils. (Классика bsd-mailxработает, но ей не хватает многих функций, таких как Maildir или поддержка MIME.) Я все же предпочитаю mutt.

Не могли бы вы предоставить мне ссылку для настройки PostFix для Gmail? pineapple 13 лет назад 0
@pineapple: см. отредактированный ответ или google `postfix gmail`. (Кстати, это «Postfix», а не «PostFix».) grawity 13 лет назад 0
Я настроил Postfix, как вы упомянули. Но когда я отправляю почту, используя mutt или sendmail, они не показывают ошибок, но я не получаю никаких писем в gmail. Я хочу знать, как проверить статус почты, была ли она доставлена ​​или нет. Также используя sendmail, я отправил почту примерно так: sendmail а затем набрал тело и нажал Ctrl D. Это правильный путь? При использовании Mutt пишет, что почта отправлена. Но когда я открываю Mutt в первый раз, он говорит / var / spool / mail / root: нет такого файла или каталога, я хочу подтвердить, что я хочу настроить только постфикс для исходящей почты. Я не хочу получать почту из gmail. pineapple 13 лет назад 0
@pineapple: Нет, это неправильный способ использования `sendmail` - он ожидает вызова из почтового клиента и получения полного сообщения RFC- (2) 822, в т.ч. заголовки. Вы должны использовать `mail`или` дурак `вместо // Тем не менее, хороший MTA отправит сообщение в любом случае - поэтому, пожалуйста, проверьте очередь Postfix (`mailq`) и системные журналы (` sudo tail -f / var / log / mail.log`) на наличие сообщений об ошибках. grawity 13 лет назад 0
@ Grawity Смотрите предлагаемое изменение, пожалуйста, просмотрите, если это правильно или требует каких-либо дополнительных комментариев. slhck 12 лет назад 0
@slhck: редактирование правильное, но я не видел необходимости в добавленной опции, учитывая, что сервер (Gmail) не предлагает такие механизмы аутентификации; даже если это так, Postfix * должен * сначала попробовать более сильные механизмы. Но если это исправит проблемы с аутентификацией, это может остаться. grawity 12 лет назад 0
+1 это все еще очень актуально, хотя postifx обновлялся несколько раз ... Один вопрос, я устал от пароля, оставшегося открытым текстом в `/ etc / postfix / sasl_passwd`. Есть ли способ хэшировать это или каким-то образом запутывать пароль? Простое изменение разрешения на доступ к файлу не соответствует этому. Cbhihe 5 лет назад 0
@Cbhihe: Нет, потому что вам нужно будет отправить его в Gmail в виде обычного текста. Вы можете создать «пароль приложения», если вы используете 2fa (ну, обязательно), или попросить разработчиков Gmail поддержать что-то вроде SCRAM-SHA-1 (что позволяет хранить хэш), или попросить разработчиков Postfix поддержать Google OAUTH (что позволяет хранить токен). grawity 5 лет назад 1
Мммм, спрашивать у любого разработчика что угодно, где угодно, на ровном месте, кажется очень длинным выстрелом, если послужит мой опыт. Поэтому я думаю больше о хакере (в форме обертки), который позволил бы пользователям вводить свой пароль Gmail на лету, а не хранить его постоянно в `/ etc / postfix / sasl_password` или где-либо еще. Но это было бы непрактично в лучшем случае. Спасибо за ваш ответ в любом случае. Очень признателен. Cbhihe 5 лет назад 0
@Cbhihe: Тогда я не думаю, что вам вообще следует использовать postfix для ретрансляции Gmail. Пусть каждый пользователь настроит msmtp индивидуально, со своими учетными записями в ~ / .msmtprc. grawity 5 лет назад 0
3
pilona

There are three things you need for basic email:

  • a program to format RFC 822 email that you are about to send
  • a program to send (RFC 822) formatted emails to your mail relay/submission system over SMTP (mail submission agent — MSA, or mail transfer agent — MTA)
  • a program to access your remote mailbox for things like remotely saved drafts, your inbox, etc. by using IMAP, POP, SMAP, rsyncing to a local mbox or maildir, or even just using sshfs to make the said mbox or maildir available on the filesystem (mail user agent — MUA, usually bundles the first component)

If you see the term 'mail delivery agent' (MDA), ignore it. That's a server-side program program for those creating their own service.

You likely already have the MUA (mutt, mailx, alpine, etc.), as well as the third component. The MSA likely is also built into the same program that is your MUA. Take a look at the following.

  • For example, for, the offical Arch Linux mutt package, in the simplest configuration (see muttrc(5)):

    # MUA part set folder = "imaps://foo@example.com" # shortcut so that I can use relative # names for $spoolfile, etc. set spoolfile = "=INBOX" set record = "=Sent Messages" set postponed = "=Drafts" set from = "foo@example.com" # MSA/MTA part set smtp_url = "smtp://foo@example.com" # or `foo@example.com@example.com` # if the server requires a fully # qualified user name, say because it # serves multiple domains 
  • I've never used alpine but the Arch Wiki has a page on it.

  • For mailx (heirloom-mailx package, I believe the following ~/.mailrc (see mailx(1)) will do. Use mailx -A example.com to tell mailx to use that account.

    account example.com { set folder=imaps://foo@example.com 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="foo@example.com (Foo Bar)" set hostname=example.com } 

Now, read on if you still want to use the traditional standalone MTA method. Since most traditional MUAs like mutt or mailx can use the sendmail interface (i.e., they just pipe mail to the sendmail binary, and you're only sending mail, not setting up a full-blown mail server, use the Dragonfly Mail Agent, rather than downloading a full server (like Postfix or sendmail). It's in the AUR. It just works and is only running when you actually send mail (i.e., it's not a deamon). It provides a wrapper binary at /usr/bin/sendmail. There's no configuration, assuming you're using an open relay. If you are using a relay that requires SMTP AUTH (you may often hear the term SASL, which is partially accurate), you can do something like what follows:

File /etc/dma/auth.conf:

some user|some mail relay or submission system:password 

File /etc/dma/dma.conf (in addition to what is already in there by default):

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

You may have to configure your MUAs accordingly though. If I recall correctly, mailx and mutt need no additional configuration.

0
Tom Stephens

Я думаю, что Vmail довольно хорош, хотя я не верю, что мы можем снимать файлы внутри скриптов ... как мой любимый прием отправки мне уведомлений по электронной почте, когда работа завершена. Но если вы просто ищете текстовый интерфейс для Gmail, это все.

0
Josh Steadmon

ssmtp - это очень легкий, простой в настройке MTA.

Похожие вопросы