Подскажите, пожалуйста, способ как организовать следующее:
Есть некий сервис (написанный на PHP). Необходимо слать с него сообщения. Хотелось бы, чтобы рассылкой занимался отдельный сервер. Т.е. из PHP вызываем функцию mail, которая не отсылает непосредственно сообщение, а добавляет его в очередь для последующей отсылки почтовым сервером.
Скажите, можно ли такое организовать?
Почему бы и нет:
Если вам надо иметь контроль над очередью и временем отправки, очередь надо сделать на уровне PHP, а потом с помощью phpmailer|swiftmailer|и.т.п., или с помощью mail, и настроенной на стороне сервера пересылки через smarthost, её отдавать на удалённый сервер.
Если не надо, просто отсылать письма на удалённый почтовый сервер — там они как раз и лягут в очередь и из неё сервер будет их по возможности доставлять.
Любой почтовый сервер способен организовать очередь сообщений. Используется, когда нужно распределить тысячи писем, или создать «окно» во времени отправки.
Но если нужна гибкость (отправить конкретное письмо в конкретное время) — то проще будет средствами php по расписанию рассылать.
в том то и дело, что мне не важно рассылка по расписанию. И не нужно напрямую слать сообщение. Я хочу, чтобы я из php просто клал его к некую очередь, а почтовый сервер бы постепенно обрабатывал эту очередь.