title: Send tons of email by message queue
body: <p>I have 1 million addresses in table, and 1 function to send mail to all.<br>
  The scenario i thought is make 1 task to select all 1 million emails then send one by one OR split into smaller tasks to (such as 2 tasks with 500k emails for each).<br>
  But how i manage the log when it is fail when sent to some emails.<br>
  I don't any mail module to support. I just want to know the logic.<br>
  <strong>Edit:</strong> not only email but my app also have our notification system, do it in same way for email. </p>