Можно ли установить простой почтовый сервер?

15

У меня есть настольная установка Ubuntu, а не сервера. Но я использую локальный LAMP-стек для разработки. Есть ли простой почтовый сервер, который я могу установить, чтобы PHP работал с sendmail?

В идеале, он будет иметь несколько опций и минимальную конфигурацию, и, желательно, графический интерфейс, а не интерфейс CL.

РЕДАКТИРОВАТЬ, чтобы добавить - я использую конфигурацию Local Only для проверки php mail ()? введите описание изображения здесь

Emmys
источник

Ответы:

4

Самый простой, который я когда-либо устанавливал, это postfix с dovecot. Существует пакет dovecot-postfix, но он также выглядит так, как будто команда сервера Ubuntu упаковала его как mail-stack-delivery:

Description: mail server delivery agent stack provided by Ubuntu server team
 Ubuntu's mail stack provides fully operational delivery with
 safe defaults and additional options. Out of the box it supports IMAP,
 POP3 and SMTP services with SASL authentication and Maildir as default
 storage engine.

Заглянув в Центр программного обеспечения, я вижу, что dovecot-postfix присутствует в виде мета-пакета (но я не знаю, будет ли он называться релизом или двумя). Но это то, что я бы порекомендовал - это просто и безопасно.

Из командной строки на рабочем столе 10.10 я установил это через apt-get:

sudo apt-get install dovecot-postfix

Дайте ему шанс, если хотите, и если у вас есть вопросы, просто начните новый пост.


Вот старая (2009 г.) запись в блоге сервера Ubuntu, в которой приведены некоторые подробности конфигурации dovecot-postfix.

Я пытаюсь узнать больше информации о текущем состоянии Ubuntu-ориентированных проектов почтовых серверов. Прямо сейчас я не нахожу намного больше, чем майский пост вики о том, как упростить интеграцию анти-спама и вирусов.

belacqua
источник
1
Почему вы хотите использовать Dovecot? Это сервер POP3 / IMAP. Если кто-то тоже не хочет получать письма и предоставлять пользователю возможность доступа к ним через POP3 / IMAP, это не нужно. Только одна вещь, когда это может быть полезно: postfix может использовать демон авторизации dovecot для использования в качестве бэкэнда аутентификации для аутентификации SMTP. Однако я думаю, что это не нужно для PHP mail (), если у кого-то нет своего собственного «написанного вручную» почтового решения для PHP, которое включает даже SMTP-аутентификацию в случае отправки почты. В других случаях достаточно просто «postfix» пакета.
ЛГБ
Я знаю, что это было легко настроить, и я установил его для функций аутентификации и безопасности, как вы упомянули. Я установил его, и он работает, в то время как я не установил только постфикс в системе Ubuntu, так что я не могу лично за это ручаться.
belacqua
@jgbelacqua, поэтому я решил попробовать твою версию. Поскольку это строго среда разработки, и все, что я хочу сделать, это проверить функциональность php mail (), буду ли я использовать локальную конфигурацию? (Я добавил скриншот экрана конфигурации к своему первоначальному сообщению.)
EmmyS
Мы используем postfix на нашем интернет-провайдере, где я работаю, но, конечно, это не масштаб «простого почтового сервера только для PHP mail ()» :)
LGB
1
@jgbelacqua - спасибо. Это сработало! Мне пришлось изменить настройку протокола с sendmail на обычную почту (в моем php-коде), но она отправлялась просто отлично.
EmmyS
7

Просто postfixнужно.

Для настройки просто используйте значения по умолчанию. Интернет сайт. Когда вы дойдете до этого, есть раздел для настройки, каким компьютерам разрешено ретранслировать почту через сервер. По умолчанию это 127.0.0.1 (сформулировано немного более многословно), и это хорошо. Это означает, что даже если другой компьютер может подключиться к postfix, он не postfixбудет позволять отправлять почту куда-либо, но к местам назначения postfix принимает как «локальные» домены.

Но хорошая безопасность сети сверху не повредит. Маршрутизатор, блокирующий входящие соединения и / или межсетевой экран (см. ufw), Прекратит связь с кем-либо еще postfix.

Если вам нужно перенастроить, просто запустите:

sudo dpkg-reconfigure postfix
Оли
источник
Для тестирования я бы настроил его на использование реле вашего провайдера в качестве Smarthost. Для правильной работы через Интернет вам нужен статический IP-адрес и правильные записи DNS.
BillThor
@BillThor Нет. Не отправлять электронную почту. Вам нужна только очень простая настройка без каких-либо условий для входящих соединений.
Оли
@ Оли Правда, но без надлежащих записей DNS многие сайты будут направлять вашу электронную почту в корзину спама. Если ваш адрес динамический и указан в Spamhaus, он будет полностью отклонен многими доменами.
BillThor
На самом деле для меня даже не имеет значения, отклоняют ли его домены - это только для целей тестирования, поэтому я отправляю сообщения только себе и до тех пор, пока могу видеть почтовую очередь postfix, чтобы узнать, что она пыталась отправить, Я в порядке.
EmmyS
@BillThor Конечно, вы не получите такой же уровень доверия, но мы говорим о разработке. Если вам нужно доверие (как вы говорите), вы пользуетесь профессиональной службой, которая тратит время (и деньги), удостоверяя вывод своих почтовых серверов как хам. Я хочу сказать, что dovecot, dns и т. Д. - это пустая трата времени и ресурсов. Все, что вам нужно, это конфигурация постфикса по умолчанию.
Оли
1

Если вы хотите отлаживать только локально, вы можете следовать этому подходу, представленному в stackoverflow . Одна строка в php.ini, никаких дополнительных пакетов. Записывает вашу исходящую почту в файл, который можно открыть с помощью почтового клиента, если вы хотите отладить HTML-почту.

sendmail_path = 'tee /tmp/mylocal.mail > /dev/null'
panepeter
источник
0

Ну, GUI или CL интерфейс для почтового сервера не так важен, так как вам в любом случае вам не нужен UI для почтового сервера, только для начальной конфигурации (хорошо, и, возможно, иногда, когда есть изменения конфигурации, такие как relayhost и т. Д. , но это довольно редкая ситуация с уже работающим сервером). Поэтому я не думаю, что это важный аспект. Я могу предложить использовать postfix, достаточно просто установить (apt-get install postfix), и самые основные параметры конфигурации запрашиваются во время установки. Тогда он будет работать с PHP mail () и т. Д., Без необходимости дальнейшей настройки или интенсивного / ежедневного использования любого пользовательского интерфейса (пусть это GUI или CLI, хотя я не знаю о GUI для постфиксной конфигурации, может быть, какое-то общее решение для конфигурации системы) вроде бы webmin для этого все равно будет работать). Только будьте осторожны, чтобы не производить открытую релейную систему :)

LGB
источник
«Просто будьте осторожны, чтобы не создавать открытую систему ретрансляции» - именно поэтому я просил что-то простое с графическим интерфейсом. Я разработчик, а не администратор почты, и мне нужно иметь возможность легко и безопасно настроить его, чтобы иметь возможность протестировать php-код для отправки электронной почты.
EmmyS
Я понимаю вашу точку зрения. Однако если вы хотите, чтобы почтовый сервер только для основной функции PHP mail () имел возможность отправлять почту, это довольно простой случай, вы можете забыть о 99% проблем администратора почтового сервера. Особенно, если у вас есть фиксированный почтовый сервер, через который вы хотите отправлять почту (называемое «relay» или «smarthost»), это очень простая вещь, и даже нескольких вопросов, задаваемых во время установки пакета, достаточно в качестве «конфигурации». Могут быть проблемы, например, когда кто-то взламывает веб-страницу и использует ее в качестве источника спама, но это не связано с почтовым сервером, больше секретного отверстия PHP / веб-хостинга ...
LGB
Я сделаю это. Прямо сейчас это 100% localhost.
EmmyS
Также ошибочно относиться к графическому интерфейсу как к более простой конфигурации в случае серверного решения: многие мои друзья считали, что с Windows все проще, так как вам не нужно знать «CLI и другие сложные вещи», и вы уже сервер админ. Однако проблема в том, что даже в GUI вы не будете знать, что означают вещи, связанные с smtp, там GUI не даст вам больше, чем CLI. Но это выходит за рамки вопроса, так как вам нужен не полнофункциональный почтовый сервер, а лишь крошечный, который используется для отправки почты из PHP. Если я вас хорошо понял.
ЛГБ
В любом случае, я все еще думаю, что нормально устанавливать только пакет postfix, вам нужно ответить на несколько простых вопросов. Если вы хотите изменить, вы можете выполнить «sudo dpkg -configure postfix», чтобы запросить эти параметры еще раз. postfix.org/postconf.5.html Как вы можете видеть, postfix имеет огромное количество параметров конфигурации, и GUI не поможет в этом. Но для вашей цели, я думаю, что все в порядке, будет спрашивать только конфигурация пакета настроек, и тогда все в порядке :) :)
LGB
0

Вам не нужен почтовый сервер для отправки электронной почты, только для получения электронной почты. Для отправки электронной почты (используя sendmail) выберите Internet with smarthostопцию.

Бурхан Халид
источник
0

MailCatcher запускает супер простой SMTP-сервер, который перехватывает любое отправленное ему сообщение для отображения в веб-интерфейсе. Запустите mailcatcher, установите ваше любимое приложение для доставки по адресу smtp: //127.0.0.1: 1025 вместо вашего SMTP-сервера по умолчанию, а затем проверьте http://127.0.0.1:1080, чтобы увидеть почту, которая уже получена.

https://mailcatcher.me/

GuruBob
источник