Вся исходящая почта в ВМ должна оставаться локальной
Я установил Ubuntu 12.04 VM, которую я использую для тестирования и разработки магазинов magento. На этой настольной виртуальной машине у меня есть почти точная копия работающего магазина. Я предпочитаю использовать настольную виртуальную машину, поскольку это дает мне возможность запустить браузер внутри виртуальной машины и хранить все локально. Если я хочу, я могу изменить файл hosts и направить доменные имена магазина в localhost.
Я хотел бы иметь возможность проверить работоспособность почты. Для примера: для существующего магазина некоторые письма не отправляются. Вместо того, чтобы связываться с производственным сайтом, я хочу проверить это на ВМ. Если сообщения отправляются сюда, они должны оставаться на виртуальной машине, а не отправляться через Интернет. Поэтому я хочу иметь возможность отправлять почту из magento, но почта остается локальной. И я хочу читать почту, желательно с таким почтовым клиентом, как Thunderbird.
Я заблокировал трафик на порт 25 с помощью UFW, поэтому я надеюсь, что это предотвратит отправку почты с виртуальной машины.
ufw deny 25/tcp
Я работал с postfix и предпочитаю его в качестве сервера smtp, но я не могу сказать (вообще), что у меня есть опыт. Я надеюсь, что это не слишком сложно для настройки.
Почему бы не проверить мою почту или тестовый адрес? Ну, это может быть решением, но на работающей magento установочной почте можно автоматически рассылать другим людям. Поскольку я использую копию рабочей базы данных с реальными клиентами и существующими адресами, я не хочу, чтобы они получали сообщения об обновлении статуса из тестовой системы. Если решение работает только для одного или двух доменов или почтовых адресов, это нормально.
2 ответа
Похоже, что postfix можно настроить для локальной доставки, настроив файл /etc/postfix/master.cf.
http://www.opensourcery.com/blog/chad-granum/local-only-postfix-testing
Если у вас есть sendmail, вы можете получить простую отправляемую карту в виде:
. local:mycatchall
Это перенаправит всю почту на локальную учетную запись mycatchall
Вы можете опционально добавить к этому следующую строку:
mydomain.com esmtp:[mail.mydomain.com]
Который будет пересылать всю почту для вашего собственного домена на ваш обычный сервер.
С Postfix вы можете использовать функцию канонических карт.
Я думаю, что вам нужно что-то вроде:
/^.*$/ mycatchall@mydomain.com
Конечно, вам нужно включить все карты, которые вы используете в основном конфигурационном файле.