As you see the alternatives right, and we don't have insight in your system, you have to decide.
You can use anything as IPC that suites your needs, but choose the one that costs the less, and solves the most. Direct IPC is best when the reaction needs to be on time, while indirect IPC (like shared files or common database) is better when you don't need quick handling, but a queue is good to have. I am usually implementing table based queue in such mail-sending scenarios. It is easy to implement. Though, I have developed a simple MSMQ based solution with the same purpose. You can see it here:
Using MSMQ in mail relay[
^].