Phpmailer延迟交付

Is it possible to somehow delay the messages sent with phpmailer?

What i want to do is send an e-mail when a user performs a given action (e.g. an order) but don't deliver it yet because this might get the users attention and stop him from ordering.

I know i could queue the e-mail in a database and then send it with a cronjob. But i don't want this because i don't think this is the best solution. In my opinion the best solution would be to send the e-mail to the smtp server (or local mailhandler) and let them handle the delay.

You've flagged this as php and phpmailer - but your question is specifically about the MTA.

It's quite possible to write a record instead of sending an email, then schedulnig a job to run later and turn the record into an email - you just need to write some code to implement this. There are many ways this could be implemented (sorry, but I really don't like DaveRandom's solution).

Most MTAs can be set to batch and selectively send emails, also apply throttling limits, although I'm not aware of one which applies an explicit delay - but it would be possible to implement this e.g. using milters. However you've provided no details of what the MTA is.