2

Как настроить почту на моем Ubuntu 14.04 для использования с файлом bash, который требует функции почты? Я не нашел никаких руководств, которые можно использовать с Ubuntu 14.04

1 ответ1

5

Традиционно, команда mail просто передает сгенерированное сообщение в /usr/sbin/sendmail , который, как ожидается, будет иметь дело с SMTP, UUCP, Bitnet или чем-либо еще, что описывают адреса получателей. Таким образом, наиболее общим решением было бы установить пакет, который предоставляет инструмент sendmail .

Здесь есть много вариантов - вы можете использовать полнофункциональный MTA (postfix, exim4, opensmtpd ...) или простой сервер пересылки (msmtp, ssmtp, esmtp ...). Экспедиторы могут отправлять сообщения только на один конкретный сервер (например, Gmail или другого провайдера), и обычно этого достаточно. Полные почтовые серверы поддерживают как прямую, так и косвенную передачу.

(Обратите внимание, что если вы хотите, чтобы сообщение имело From: ...@gmail.com , вы должны переслать его через серверы Gmail. То же самое относится и к большинству других провайдеров. С другой стороны, если у вас есть собственное доменное имя, вам также понадобится полноценный почтовый сервер.)

Я не могу описать каждый вариант здесь. Если вы устанавливаете сервер пересылки, конфигурация должна быть более или менее понятна. Если вы хотите настроить полный почтовый сервер для пересылки почты через провайдера, выполните поиск по терминам "ретрансляция почты" или "smarthost". В частности, многие люди написали учебные пособия по созданию Postfix/Sendmail/ и т.д. ретранслировать все сообщения через Gmail. Хотя я использую msmtp , так что вот пример ~/.msmtprc.

Какой бы вариант вы ни выбрали, убедитесь, что либо /usr/sbin/sendmail либо /usr/lib/sendmail вызывает нужную почтовую программу.


Есть и другой вариант. Существует несколько версий команды mail ; один из них с большим количеством функций называется heirloom-mailx в репозиториях Ubuntu (позже переименован в s-nail). Помимо прочего, он может общаться с SMTP-серверами вашего провайдера напрямую, без отдельного инструмента sendmail .

Если вы устанавливаете heirloom-mailx, вы можете пропустить все вышеперечисленное и установить необходимые переменные SMTP в вашем ~/.mailrc ; например:

# ~/.msmtprc

defaults
    tls on
    tls_trust_file /etc/ssl/certs/ca-certificates.crt

account default
    from grawity@gmail.com
    host smtp.gmail.com
    port 587
    auth plain
    user grawity@gmail.com
    password ********
# ~/.mailrc

set smtp="grawity%40gmail.com@smtp.gmail.com:587"
set smtp-use-starttls
set smtp-auth="plain"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .