Ubuntu 14.04: Как отправить электронное письмо без регистрации домена или записи MX или A?
- Ubuntu 14.04 на виртуальной машине, которая не является моим ПК. Я использую свой компьютер (Windows 7 и Putty 0.63) для оболочки в него.
- 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
- Эта машина находится в нашей частной сети и не имеет официального зарегистрированного доменного имени. У него есть собственный IP, но я думаю, что это внутренний IP. К этой машине нет доступа из-за пределов нашей сети, я использую ее только для отправки исходящих электронных писем людям в нашей компании. Я заставил Perl отправить электронное письмо нашему провайдеру SMTP, и это прекрасно работает.
- Мы платим за внешний SMTP-сервис, так что эта часть выполнена. Единственная SMTP-аутентификация, которую я использую - это имя пользователя и пароль. SSL не нужен.
- Я не собираюсь получать письма от внешнего мира на этой машине.
- Прямо сейчас мои электронные письма блокируются моим SMTP-провайдером, возможно, из-за того, что у меня нет полного доменного имени. Я получаю сообщение об ошибке "Тайм-аут соединения".
- Я не могу даже telnet с моего компьютера на SMTP-сервер, я также получаю ошибку "тайм-аут". Я использовал Putty 0.63. Тем не менее, я все еще могу отправлять электронную почту через программу Perl на Ubuntu.
- Это не может помочь мне, поэтому я сам по себе. Я новичок в sysadmin для Ubuntu.
Мне нужен способ отправки электронной почты с вложением через командную строку (для автоматизированного процесса cron) без настройки зарегистрированного домена, записи MX или A. Какие у меня варианты? Postfix не будет этого делать, так как он требует настройки сети, а также записи (DNS?).
Поскольку модуль Perl использует протокол SMTP для прямого входа на SMTP-сервер, я подозреваю, что мне нужен пакет Ubuntu, который делает то же самое, не передавая задачу другому MTA.
Я пробовал SSMTP
- Используя 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
- В /etc/ssmtp/ssmtp.conf я даже изменил настройку "Rewritedomain", чтобы она была фактическим доменным именем нашей компании.
- И как мне перезапустить демон SSMTP после внесения изменений в файл ssmtp.conf? Возможно, это часть проблемы.
Я попытался telnetting в SMTP-сервер
- Я попытался telnetting в smtpout.payserv.net порт 25 и только что получил "220 *******************", затем Putty 0,63 выйти.
Возможно ли, что моя SMTP-компания заблокировала мой IP? Должен ли я просто позвонить им?
Давайте немного вернемся назад
- Я сделал 'netstat -an | grep smtp' и не увидел запущенную службу smtp. Как мне это начать?
- Нужно ли добавлять 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. И я пока не могу найти решение.