Как настроить почту на моем Ubuntu 14.04 для использования с файлом bash, который требует функции почты? Я не нашел никаких руководств, которые можно использовать с Ubuntu 14.04
1 ответ
Традиционно, команда 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"