Phpmailer задерживает доставку

Можно ли как-то задержать сообщения, отправленные с помощью phpmailer?

Что я хочу сделать, так это отправить электронное письмо, когда пользователь выполняет данное действие (например, заказ), но еще не доставляет его, потому что это может привлечь внимание пользователей и помешать ему сделать заказ.

Я знаю, что могу поставить электронное письмо в очередь в базе данных, а затем отправить его с помощью cronjob. Но я не хочу этого, потому что я не думаю, что это лучшее решение. На мой взгляд, лучшим решением было бы отправить электронное письмо на smtp-сервер (или локальный обработчик почты) и позволить им справиться с задержкой.


person Nico    schedule 12.12.2011    source источник
comment
так что вы на самом деле спрашиваете, как задерживать электронные письма на уровне MTA?   -  person Narcis Radu    schedule 12.12.2011


Ответы (1)


Вы отметили это как php и phpmailer, но ваш вопрос конкретно о MTA.

Вполне возможно написать запись вместо отправки электронного письма, затем запланировать задание для запуска позже и превратить запись в электронное письмо — вам просто нужно написать код для реализации этого. Есть много способов реализовать это (извините, но мне действительно не нравится решение DaveRandom).

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

person symcbean    schedule 12.12.2011
comment
Мое решение исчезло, потому что вы абсолютно правы в том, что это не так. Это сработает, но даже близко не подходит к правильному подходу. - person DaveRandom; 12.12.2011