Mailable.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Illuminate\Contracts\Mail;
  3. use Illuminate\Contracts\Queue\Factory as Queue;
  4. interface Mailable
  5. {
  6. /**
  7. * Send the message using the given mailer.
  8. *
  9. * @param \Illuminate\Contracts\Mail\Factory|\Illuminate\Contracts\Mail\Mailer $mailer
  10. * @return \Illuminate\Mail\SentMessage|null
  11. */
  12. public function send($mailer);
  13. /**
  14. * Queue the given message.
  15. *
  16. * @param \Illuminate\Contracts\Queue\Factory $queue
  17. * @return mixed
  18. */
  19. public function queue(Queue $queue);
  20. /**
  21. * Deliver the queued message after (n) seconds.
  22. *
  23. * @param \DateTimeInterface|\DateInterval|int $delay
  24. * @param \Illuminate\Contracts\Queue\Factory $queue
  25. * @return mixed
  26. */
  27. public function later($delay, Queue $queue);
  28. /**
  29. * Set the recipients of the message.
  30. *
  31. * @param object|array|string $address
  32. * @param string|null $name
  33. * @return self
  34. */
  35. public function cc($address, $name = null);
  36. /**
  37. * Set the recipients of the message.
  38. *
  39. * @param object|array|string $address
  40. * @param string|null $name
  41. * @return $this
  42. */
  43. public function bcc($address, $name = null);
  44. /**
  45. * Set the recipients of the message.
  46. *
  47. * @param object|array|string $address
  48. * @param string|null $name
  49. * @return $this
  50. */
  51. public function to($address, $name = null);
  52. /**
  53. * Set the locale of the message.
  54. *
  55. * @param string $locale
  56. * @return $this
  57. */
  58. public function locale($locale);
  59. /**
  60. * Set the name of the mailer that should be used to send the message.
  61. *
  62. * @param string $mailer
  63. * @return $this
  64. */
  65. public function mailer($mailer);
  66. }