Я веб-разработчик PHP. Мне нужно настроить мою рабочую станцию Ubuntu (10.04.1 LTS), чтобы я мог отлаживать почту, не выходя на самом деле в WWW. Итак, мне нужно работать с фиктивными доменами, такими как from.com и to.com. Каков самый быстрый, самый короткий и простой способ настроить PHP для включения исходящей почты, которая остается только на моем сервере, а затем получать эту почту с помощью Evolution?
Ubuntu по умолчанию поставляется с Sendmail, что, на мой взгляд, может заставить вас вырвать себе волосы. Postfix выглядит несколько проще в настройке. Итак, я сделал это:
sudo su
apt-get --purge remove sendmail
apt-get --purge remove sendmail-base
apt-get --purge remove sendmail-cf
apt-get install procmail
По умолчанию procmail установит Postfix.
При запуске установки Postfix автоматически отобразится синий экран, на котором вам нужно выбрать тип установки. выберите Только местное.
Затем отредактируйте /etc/postfix/main.cf и установите мое предназначение так, чтобы он содержал список доменов, разделенных запятыми, для вашего отправителя и получателя, например:
mydestination = localhost, localhost.localdomain, from.com, to.com
Далее редактируем / etc / aliases как корень. Итак, если ваша учетная запись пользователя в Ubuntu (с которой вы входите в систему) является разработчик, и вы хотите отправить тестовое письмо как программист на jack@to.comтогда твой / etc / aliases будет где-то эта запись:
jack: dev
После этого выполните эту команду как root:
newaliases
Теперь верните свой почтовый сервер как root:
/etc/init.d/postfix stop
/etc/init.d/postfix start
Теперь, когда ваш PHP-код отправляет сообщение с любого адреса на from.com (неважно какой) jack@to.com, ваш почтовый сервер автоматически поместит его в файл / var / spool / mail / dev.
Итак, как это сделать? Что ж, мне не особенно нравится Evolution over Thunderbird, но он казался более настраиваемым для этой задачи. Я открыл его и добавил новую учетную запись. Там я добавил dev @ localhost а затем выбрал Местная доставка. На этом пути к файлу я выбрал / var / spool / mail / dev. При отправке почты я выбрал Отправить почту хотя у меня этого больше нет. Я имею в виду, что я не забочусь об отправке почты из моего почтового ящика на почтовый сервер, я просто получаю ее, чтобы я мог отлаживать сообщения и гарантировать, что почта будет работать правильно. Однако вы можете выбрать другую конфигурацию сервера исходящей почты, если хотите. В любом случае, оттуда я нажал кнопку ОК, а затем нажал кнопку «Отправить / получить», чтобы загрузить новые сообщения.
В этот момент я мог отправлять сообщения из PHP в учетную запись jack@to.com, и довольно легко получить их с помощью Evolution.
Более быстрый ответ, чем то, что я придумал 24 сентября 2010 года:
# apt-get install sendmail
# vim /etc/hosts
Закомментируйте строку 127.0.1.1 символом #, а затем переместите то, что следует за ней после 127.0.0.1. Кроме того, убедитесь, что localhost, localhost.localdomain, from.com и to.com находятся в строке 127.0.0.1. Например, на моей рабочей станции две мои строчки выглядят так:
127.0.0.1 localhost.localdomain localhost dev-laptop from.com to.com
#127.0.1.1 dev-laptop
А теперь продолжим ...
# vim /etc/aliases
Добавьте «joe: dev», если учетная запись, в которую вы входите в Ubuntu, - «dev», а человек, которому вы хотите проверить отправку почты, - это joe@to.com.
# newaliases
# /etc/init.d/sendmail restart
# /etc/init.d/apache2 restart
В Evolution выберите Стандартный файл спула mbox для Unix (формат sendmail по умолчанию) и укажите на / var / spool / mail / dev, если ваш логин в Ubuntu - «dev». Для исходящей почты выберите «sendmail». Укажите, какое письмо нужно забрать, установите его как dev@from.com, если «dev» - ваш логин в Ubuntu.
На этом этапе ваш PHP-код можно отправить по электронной почте на адрес jack@to.com, и вы сможете легко получить их в Evolution. Это отлично подходит для отладки ваших веб-приложений PHP локально на вашей рабочей станции Ubuntu.