Я заглянул в Google и на страницы справочника по почте, но не могу понять, как их настроить. Все, что я хочу сделать, это настроить свой адрес электронной почты, чтобы я мог отправлять электронную почту через терминал. Как я могу это сделать?
4 ответа
Традиционно почтовые программы Unix, включая mail
, полагаются на MTA (Mail Transfer Agent) для выполнения фактической передачи.
Вы можете использовать полноразмерный MTA (postfix, exim4, opensmtpd), настроив его с помощью «smarthost» (relayhost), или облегченный исходящий MTA (msmtp, ssmtp, esmtp, nullmailer), который всегда использует его.
Для личного использования msmtp
будет проще в настройке - он может только отправлять почту, но не получать, и разрешает настройку для конкретного пользователя.
Установите msmtp
, затем добавьте свою учетную запись Gmail в ~/.msmtprc
:
defaults tls on # the path below may need to be adjusted tls_trust_file /etc/ssl/certs/ca-certificates.crt account gmail from youraddress@gmail.com host smtp.gmail.com port 587 auth plain user youraddress@gmail.com account default : gmail
Теперь скажите mail
использовать msmtp
, отредактировав ~/.mailrc
:
set sendmail="/usr/bin/msmtp"
(Если это не работает, запустите ln -s /usr/bin/msmtp /usr/sbin/sendmail
от имени пользователя root.)
Наконец, если вы хотите, чтобы mail
/msmtp
запомнил ваш пароль Gmail, он идет в ~/.netrc
:
machine smtp.gmail.com login youraddress@gmail.com password "your password here"
Если ваш системный администратор уже не настроил почтовую систему, вы должны настроить Mail Transfer Agent. Это традиционно sendmail, современные системы используют postfix или exim4.
Во многих системах вы найдете команду mailx
которую можно использовать для отправки электронной почты. Это может быть ссылка на почтовую команду, но она меняет поведение команды. Как уже отмечалось, это предполагает, что на вашем сервере настроен MTA (Mail Transfer Agent). Он может быть использован в интерактивном режиме с помощью команды вроде:
mailx -s "This is a message" user@example.com
This is a message
.
Или с помощью канала, чтобы отправить вывод команды:
cat myfile.txt | mailx -s "This is the file" user@example.com
Запуск его как mailx -h
должен дать вам инструкции по использованию.
Если вы не связаны с командой mail
, nail
предлагает аналогичный интерфейс, но может отправлять почту с помощью SMTP.