2010-05-27 4 views
0

Мне недавно пришлось перемещать серверы. На старом сервере у меня был список рассылки рассылки Mailman, но поскольку Mailman не поддерживался на новом сервере, я написал скрипт PHP для чтения сообщений из IMAP и повторной отправки через SMTP. Сценарий хрупкий (моя ошибка) и сложный (не моя ошибка): мне нужно разобрать каждое сообщение, найти биты, которые я могу использовать (если это многочастный или HTML или он имеет вложения), а затем восстановить сообщение для SMTP, чтобы каждый член, кроме отправителя, получил копию, а Reply-To - адрес списка рассылки. Дело в том, что я знаю, что исходный текст сообщения прекрасен. Мне просто нужно изменить/добавить несколько заголовков.Пересылка электронной почты в список рассылки

На серверах Windows вы можете настроить папку почтового ящика электронной почты, в которой вы могли бы сохранить исходящие почтовые сообщения в своей необработанной форме. Есть что-то подобное на * nix? Есть ли другой метод, на который я должен обратить внимание?

Я знаю, что я могу настроить адрес экспедитора на сервере, но мне очень нравится поведение систем рассылки: отправители не получают копию своего собственного сообщения, тема идентифицируется ярлыком списка и нажимает " Ответить "отправляет сообщение обратно в список рассылки, а не исходный отправитель.

+0

Почему вы не используете другой рассылку? – prodigitalson

+0

Я нахожусь на общем хосте, и мне вряд ли удастся установить новое программное обеспечение. Тем не менее, вы рекомендуете какое-либо программное обеспечение? Я думал, что Почтальон замечательный, хотя административный интерфейс сосать. – Andrew

ответ

0

Для того, чтобы создать свою собственную систему на заказ список сервера вам нужно сделать следующее:

  1. Настройка почтового сервера, чтобы иметь псевдоним, такой как [email protected] к перенаправлять сообщения на черное дыру или /dev/null или что-то в этом роде, в основном удаляя любые сообщения по прибытии без возврата сообщений о недоставке (сообщения о недоставке) отправителям. Это адрес, который ваш скрипт будет использовать в заголовке ваших сообщений электронной почты при отправке в группу :.

  2. Напишите свой раздел PHP-скриптов, который отправляет в группу таким образом, что: (a) сначала вытаскивает всех ваших подписчиков из базы данных (или файла с надежной сохраненной информацией) в массив, (b) затем удаляет адрес автора сообщения из массива, (c) затем, наконец, проведите все оставшиеся подписчики в массиве партиями из примерно 15 получателей и отправьте сообщение с помощью функции mail() с использованием To: "Your List Name" <[email protected] и BCC: (глухой углерод копировать), чтобы предотвратить получение получателей, видя, кто еще находится в списке.

Если Вы желаете, чтобы попробовать некоторые из существующих решений для этого, почему бы не взглянуть на Majordomo.