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

  1. Ubuntu 14.04 на виртуальной машине, которая не является моим ПК. Я использую свой компьютер (Windows 7 и Putty 0.63) для оболочки в него.
  2. Uname = Linux ubuntucomp 3.13.0-24-generiC#46-Ubuntu SMP четверг, 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: 22 октября 10:18:19 ubuntucomp sSMTP[16075]: невозможно подключиться к порту 587. "smtpout.payserv.net". Сбой процесса с кодом ошибки 1. 22 октября, 10:18:19 Ubuntucomp sSMTP [16075]: не удается открыть smtpout.payserv.net:587
  2. В /etc/ssmtp/ssmtp.conf я даже изменил настройку "Rewritedomain", чтобы она была фактическим доменным именем нашей компании.
  3. И как мне перезапустить демон SSMTP после внесения изменений в файл ssmtp.conf? Возможно, это часть проблемы.

Я попытался telnetting в SMTP-сервер

  1. Я попытался telnetting в smtpout.payserv.net порт 25 и только что получил "220 *******************", затем Putty 0,63 выйти.

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

Давайте немного вернемся назад

  1. Я сделал 'netstat -an | grep smtp' и не увидел запущенную службу smtp. Как мне это начать?
  2. Нужно ли добавлять SMTP-сервер в / etc / hosts?

Благодарю.

2 ответа

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

mail -s "Hello ASKUBUNTU" you@youremailid.com

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

echo "This will go into the body of the mail." | mail -s "Hello world" you@youremailid.com

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

mail -s "Hello world" you@youremailid.com < /home/calvin/application.log

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

-s тема (тема письма)

-c электронный адрес (пометить копию на этот "электронный адрес" или CC)

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

echo "Welcome to the world of Calvin n Hobbes" | mail -s "Hello world" calvin@cnh.com -c hobbes@cnh.com -b susie.derkins@cnh.com

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

mail -a /path/to/file.to.attach -s "Hello ASKUBUNTU" you@youremailid.com 

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

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

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

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