2
2
3
3
namespace App \Mail \Subscription \User ;
4
4
5
+ use App \Models \Pledge ;
6
+ use App \Models \Tier ;
5
7
use App \Models \User ;
6
8
use Illuminate \Bus \Queueable ;
7
9
use Illuminate \Mail \Mailable ;
10
+ use Illuminate \Mail \Mailables \Address ;
11
+ use Illuminate \Mail \Mailables \Content ;
12
+ use Illuminate \Mail \Mailables \Envelope ;
8
13
use Illuminate \Queue \SerializesModels ;
9
14
10
15
class NewElementalSubscriptionMail extends Mailable
@@ -17,6 +22,11 @@ class NewElementalSubscriptionMail extends Mailable
17
22
*/
18
23
public $ user ;
19
24
25
+ /**
26
+ * @var Tier
27
+ */
28
+ public $ tier ;
29
+
20
30
/**
21
31
* Create a new message instance.
22
32
*
@@ -25,19 +35,28 @@ class NewElementalSubscriptionMail extends Mailable
25
35
public function __construct (User $ user )
26
36
{
27
37
$ this ->user = $ user ;
38
+ $ this ->tier = Tier::where ('name ' , Pledge::ELEMENTAL )->first ();
28
39
}
29
40
30
41
/**
31
- * Build the message.
32
- *
33
- * @return $this
42
+ * Get the message envelope.
43
+ */
44
+ public function envelope (): Envelope
45
+ {
46
+ return new Envelope (
47
+ from: new Address (config ('app.email ' ), 'Kanka Team ' ),
48
+ subject: 'Thank you, and welcome! ' ,
49
+ tags: ['elemental ' ]
50
+ );
51
+ }
52
+
53
+ /**
54
+ * Get the message content definition.
34
55
*/
35
- public function build ()
56
+ public function content (): Content
36
57
{
37
- return $ this
38
- ->from (['address ' => config ('app.email ' ), 'name ' => 'Kanka Team ' ])
39
- ->subject ('Thank you, and welcome! ' )
40
- ->tag ('elemental ' )
41
- ->view ('emails.subscriptions.new.elemental ' );
58
+ return new Content (
59
+ markdown: 'emails.subscriptions.new.elemental ' ,
60
+ );
42
61
}
43
62
}
0 commit comments