Отправка электронной почты с существующего хоста SMTP с сервера Ubuntu

Я чувствую, что моя проблема очень проста, но я пытался довольно долго и не решил ее. Вы опытные серверные парни, вероятно, будете смеяться над этим, но я, наконец, в тот момент, когда мне нужна помощь, или я никогда никуда не доберусь.

У меня есть маленький ящик с 12.04 LTS, и я хотел написать некоторые проверки статуса, чтобы сервер отправил мне электронное письмо и запланировал это с помощью cron.

Мне в основном нужен почтовый клиент командной строки, который я могу настроить так же легко, как Thunderbird, отправлять через мой существующий SMTP через командную строку. Что-то, что может быть легко добавлено в мои скрипты bash.

У меня уже есть удаленный хост, обрабатывающий нашу электронную почту, SMTP, MTA, весь этот мусор. Я не особо хочу настраивать ретрансляцию только для того, чтобы отправлять электронную почту, когда у меня есть такая, которую все остальные в компании уже используют. Я пытался, но есть слишком много аспектов, которые я не понимаю, И я не понимаю, почему я должен установить что-то локальное, когда мы уже платим за удаленный хост, чтобы делать эти вещи.

Если мне абсолютно необходимо настроить sendmail или postfix, пусть будет так, но я бы оценил простую альтернативу. На данный момент я открыт практически для всего.

1
задан 5 June 2014 в 00:49

2 ответа

Если Вы подразумеваете отправку электронного письма через сторонний сервер SMTP (обеспеченный ISP, например), то можно установить ssmtp, который является общедоступной заменой для Postfix/Sendmail, но специализированный к той точной задаче отправки почты через удаленный SMTP и таким образом намного легче настроить. Затем можно послать электронное письмо с mailx команда, например:

echo "Mail." | mailx -s "Subject" recipient@somewhere.org

Править: Электронная почта является очень сложным бизнесом... Некоторые вещи иметь в виду:

Обратите внимание, что команда выше не указывает адрес отправителя (т.е. адрес, который получатель будет видеть в Поле "От" его почтового клиента). По умолчанию адрес отправителя является Вашим именем для входа в систему на Вашей локальной машине, сопровождаемой @, сопровождаемый полным именем хоста локальной машины. Например, на моей машине, имя для входа в систему firas и имя хоста nomo:

firas@nomo ~ % whoami firas firas@nomo ~ % hostname -f nomo

таким образом, когда я посылаю электронное письмо с вышеупомянутой командой, адрес отправителя будет firas@nomo, как видно из mail.log:

firas@nomo ~ % tail -n 3 /var/log/mail.log Jun 9 20:37:46 nomo sSMTP[2203]: Creating SSL connection to host Jun 9 20:37:48 nomo sSMTP[2203]: SSL connection using RSA_AES_128_CBC_SHA1 Jun 9 20:37:50 nomo sSMTP[2203]: Sent mail for firas@nomo (221 2.0.0 esmtp3.es.uci.edu closing connection) uid=1000 username=firas outbytes=364

Подавляющее большинство серверов откажется передавать эту электронную почту (как мера против спама), потому что доменное имя nomo не допустимый домен. К счастью, существует опция в ssmtp.conf который позволяет, каждый указывает произвольный домен, который sSMTP будет использовать при отправке почты. А именно, это rewritedomain опция, поэтому если у меня есть это в моем ssmtp.conf:

rewriteDomain=fkraiem.org

затем адрес отправителя будет firas@fkraiem.org.

Обычно, вышеупомянутое должно быть достаточным (то есть, пока Ваш адрес отправителя имеет допустимый домен, сервер должен передать Вашу почту). Однако некоторые почтовые поставщики дополнительны рьяный, и только разрешат Вам использовать адрес электронной почты, который Вы зарегистрировали в них. Это означает, что в дополнение к тому, чтобы менять доменное имя как выше, Вы, возможно, должны были бы или изменить свое имя для входа в систему на локальной машине, или зарегистрировали бы новый адрес в своем поставщике (если они позволяют его), так, чтобы заключительный адрес соответствовал Вашему юридическому адресу.

Другой способ указать произвольный адрес отправителя состоит в том, чтобы установить fromlineoverride опция ssmtp.conf кому: YES, и затем используйте -a опция mailx:

echo "Mail." | mailx -s "Subject" -a 'From: firas@fkraiem.org' firas@fkraiem.org

Это однако нестандартно, и не могло бы работать над Ose кроме Ubuntu (и другие основанные на GNU системы). Можно также использовать другой, более сложные клиенты, такой как mutt.

1
ответ дан 5 June 2014 в 00:49

Вы рассмотрели sendemail? (sendEmail)

Описание-en: легкий вес, командная строка почтовый клиент SMTP

2
ответ дан 5 June 2014 в 00:49

Другие вопросы по тегам:

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