Как я устанавливаю sendmail, постфикс или голубятню так, чтобы жемчуг мог послать электронные письма?

Прямой вопрос: Я хочу позволить Perl послать электронные письма. Что пакет (пакеты) должен я устанавливать для установки упрощенного почтового сервера: никакая потребность в поступлении, только выходе. Я могу передать через SMTP Gmail, если это является лучшим?

Фон: Я - программист с ночным сценарием сборки, записанным в Perl. Я хотел бы послать мне по электронной почте результаты своих ночных сборок (особенно, если существует ошибка).

Я читал о пакете жемчуга Mail::Sendmail кратко, но если что-то еще является более соответствующим, скажите мне!!

Я попробовал простое aptget install sendmail, но это, кажется, не работает. Я получаю следующие ошибки:

Server сказал: 421 4.3.0 соберитесь: не Может записать./dfp1PFXl7W020719 (bfcommit, uid=0, gid=120): Никакая такая ошибка передачи сообщений файла или каталога (421 4.3.0 соберитесь: не Может записать./dfp1PFXl7W020719 (bfcommit, uid=0, gid=120): Никакой такой файл или каталог), Server сказал: 421 4.3.0 соберитесь: не Может записать./dfp1PFXl7W020719 (bfcommit, uid=0, gid=120): Никакой такой файл или каталог

Я погуглил эту проблему немного и попробовал несколько вещей - добавление моего имени пользователя к/etc/mail/trusted-users и такой, но напрасно.

Другими словами, я был бы крайне признательным, если Вы могли бы предоставить простые инструкции для установки сервера исходящей почты. Я действительно не понимаю специфических особенностей, но как я понимаю, я должен переслать почту через существующий сервер SMTP - таким образом, я могу использовать свою учетную запись Gmail в случае необходимости (это - то, где я хочу отправить журналы так или иначе). Любые предложения больше всего значительно ценились бы.

3
задан 25 February 2011 в 20:45

5 ответов

Вы также можете взглянуть на Net :: SMTP, который позволяет отправлять SMTP-сообщения, не требуя никаких внешних программ, таких как sendmail. Это может быть немного не по теме для Ask Ubuntu, поскольку это чистое решение Perl, но вы можете найти его предпочтительным. Net :: SMTP предоставляется пакетом perl-modules, который должен быть установлен по умолчанию.

0
ответ дан 25 February 2011 в 20:45

Для стороны Perl Perl :: SendMail будет работать, если у вас есть локальное реле, такое как SSMTP, или любая другая подобная программа. Похоже, он не выполняет аутентификацию.

Я нашел сообщение на Отправка электронной почты через GMAIL с использованием Perl . Помните, что в коде будут ваши учетные данные Google. (Как и SSMTP или любой другой ретранслятор, который вы используете.)

Я бы посоветовал вам использовать сервер ретрансляции ISP для отправки почты. В этом случае вы можете использовать автономный Perl :: Sendmail.

Рекомендуемое решение: Postfix устанавливается как зависимость многими программами, которым требуется почтовый сервер. Если он еще не установлен, установите его или Exim4. Сконфигурируйте свой сервер для «почты, отправленной smarthost; не локальной почтой», используя ретранслятор вашего провайдера в качестве smarthost. Настройте / etc / email-адреса для вашего ID пользователя. Также настройте / etc / aliases для пересылки электронной почты на вашу учетную запись gmail.

Если вы используете cron для запуска, вы создадите любой вывод в stdout или stderr, который будет отправлен вам по электронной почте. Вы также можете использовать mailx для отправки почты, если хотите отправлять почту из скрипта.

0
ответ дан 25 February 2011 в 20:45

Я до сих пор утверждаю, что dovecot-postfix легко установить и настроить.
У меня есть некоторые подробности в моем ответе на Есть ли простой почтовый сервер, который я могу установить?

Там EmmyS смогла заставить это работать для своей функции phpmail.

Dovecot-postfix делает тяжелее, чем, возможно, вам нужно, но требует только пару элементов конфигурации после:

sudo apt-get install dovecot-postfix
0
ответ дан 25 February 2011 в 20:45

Все они - слишком много инструмента для работы. ssmtp делает это - но только это.

sudo apt-get install ssmtp

(Это удалит постфикс или sendmail, если он установлен.)

sudoedit /etc/ssmtp/ssmtp.conf

И содержимое этого файла:

Root=your_email@gmail.com
Mailhub=smtp.gmail.com:465
RewriteDomain=gmail.com
AuthUser=your_gmail_username # (before the @gmail.com part)
AuthPass=your_gmail_password
FromLineOverride=Yes
UseTLS=Yes
0
ответ дан 25 February 2011 в 20:45

Кажется, работает много почтовых серверов, не могли бы вы попытаться завершить работу sendmail?

sudo /etc/init.d/sendmail stop

и проверить ваш порт smtp (25) с помощью

sudo lsof -i -P -R | grep ':25 '

, если вы видите на порту 25 запущен другой процесс, попробуйте остановить его. Pid находится в третьем столбце вывода.

Чтобы правильно настроить postfix: установите для debconf низкого уровня

sudo dpkg-reconfigure debconf

, выберите диалоговое окно, а затем низкий уровень предупреждения. Затем установите postfix с помощью

sudo apt-get install postfix 

, выберите стандартную опцию с профилем «Интернет-сайт». Если вы уже установили постфикс, вы можете перенастроить его:

sudo dpkg-reconfigure postfix

Наслаждайтесь!

0
ответ дан 25 February 2011 в 20:45

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

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