Ubuntu 14.04: Как отправлять электронную почту без регистрации домена или записи MX или A?

1
  1. Ubuntu 14.04 на виртуальной машине, которая не является моим компьютером. Я использую свой компьютер (Windows 7 и Putty 0.63) для оболочки в него.
  2. Uname = Linux ubuntucomp 3.13.0-24-generic # 46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux
  3. Этот компьютер находится в нашей частной сети и не имеет зарегистрированного зарегистрированного доменного имени. У этого есть свой собственный IP, но я думаю, что это внутренний IP. Эта машина не доступна из-за пределов нашей сети, я использую ее только для отправки исходящих писем людям в нашей компании. Я получил Perl для отправки электронной почты нашему SMTP-провайдеру, и это работает нормально.
  4. Мы платим за внешнюю службу SMTP, так что часть выполняется. Единственная аутентификация SMTP, которую я использую, - это имя пользователя и пароль. SSL не требуется.
  5. Я не собираюсь получать электронную почту от внешнего мира на этой машине.
  6. В настоящее время мои письма блокируются моим SMTP-провайдером, возможно, потому что у меня нет полного доменного имени. Ошибка, которую я получаю, - «время ожидания подключения».
  7. Я не могу даже telnet с моего ПК на SMTP-сервер, я также получаю ошибку «тайм-аута». Я использовал Putty 0.63. Тем не менее, я все еще могу отправить электронную почту через программу Perl на Ubuntu.
  8. Я не могу помочь мне, поэтому я сам. Я новичок в sysadmin для Ubuntu.

Мне нужен способ отправить электронные письма с вложением через командную строку (для автоматического процесса cron) без настройки зарегистрированного домена, записи MX или A. Какие у меня варианты? Postfix не будет делать этого, поскольку для этого требуется набор сетевых настроек вместе с записью (DNS?).

Поскольку модуль Perl использует протокол SMTP для прямого входа на SMTP-сервер, я подозреваю, что мне нужен пакет Ubuntu, который делает то же самое, не передавая задачу на другой MTA.

Я пробовал SSMTP

  1. Использование ssmtp Я получил эту ошибку из /var/log/mail.log: Oct 22 10:18:19 ubuntucomp sSMTP [16075]: Не удалось подключиться к порту smtpout.payserv.net 587. Процесс завершился неудачно с ошибкой код 1. Oct 22 10:18:19 ubuntucomp sSMTP [16075]: Не удается открыть smtpout.payserv.net:587
  2. В /etc/ssmtp/ssmtp.conf Я даже изменил настройку «Rewritedomain» как наше фактическое доменное имя компании.
  3. И как мне перезапустить демон SSMTP после внесения изменений в файл ssmtp.conf? Возможно, это часть проблемы.

Я попытался подключиться к SMTP-серверу

  1. Я попробовал telnetting в smtpout.payserv.net порт 25 и получил «220 *******************», затем Putty 0.63 quit.

Возможно ли, что моя SMTP-компания заблокировала мой IP-адрес? Должен ли я просто называть их?

Давайте немного подстроим

  1. Я сделал «netstat -an | grep smtp» и не видел, чтобы работа smtp работала. Как мне начать?
  2. Нужно ли добавить сервер smtp в / etc / hosts?

Спасибо.

    
задан Bulrush 22.10.2014 в 11:52
источник

2 ответа

2

Вы можете использовать опцию почты из командной строки Linux. Формат по умолчанию приведен ниже.

mail -s "Hello ASKUBUNTU" [email protected]

Чтобы добавить контент в тело почты во время выполнения команды, вы можете использовать следующие параметры. Если вы хотите добавить текст самостоятельно:

echo "This will go into the body of the mail." | mail -s "Hello world" [email protected]

И если вы хотите, чтобы почта читала содержимое из файла:

mail -s "Hello world" [email protected] < /home/calvin/application.log

Некоторые другие полезные параметры в команде mail:

-s subject (Тема письма)

-c адрес электронной почты (Отметьте копию этого «адреса электронной почты» или CC)

-b адрес электронной почты (пометьте слепую копию на этот «адрес электронной почты» или BCC) Вот как вы можете использовать эти параметры:

echo "Welcome to the world of Calvin n Hobbes" | mail -s "Hello world" [email protected] -c [email protected] -b [email protected]

Чтобы добавить вложения, вы можете использовать опцию -a в письме

mail -a /path/to/file.to.attach -s "Hello ASKUBUNTU" [email protected] 

Надеюсь, что это поможет.

    
ответ дан vembutech 22.10.2014 в 15:24
0

Получил! В /etc/ssmtp/ssmtp.conf строка «hostname =» должна быть именем моей машины «ubuntucomp.net». Это все было неправильно.

Однако он не отправляет вложения. Кажется, у других людей была такая же проблема: как отправить электронное письмо с приложением без установки MTA. И пока я не могу найти решение.     

ответ дан Bulrush 22.10.2014 в 16:54