diff --git a/docs/digging-deeper/mail.mdx b/docs/digging-deeper/mail.mdx
index e66b0875..ce703396 100644
--- a/docs/digging-deeper/mail.mdx
+++ b/docs/digging-deeper/mail.mdx
@@ -11,10 +11,10 @@ See how to send emails in Athenna.
## Introduction
Sending email doesn't have to be complicated. Athenna provides a
-clean, simple email API powered by the popular [nodemailer] package.
-Right now Athenna provide drivers for sending email via SMTP, only
-but in the future we will add support for Mailgun, Mailtrap,
-Amazon SES, and sendmail.
+clean, simple email API powered by the popular [nodemailer](https://nodemailer.com/)
+package. Right now Athenna provide drivers for sending email via
+SMTP only, but in the future we will add support for Mailgun,
+Mailtrap, Amazon SES, and sendmail.
## Installation
@@ -75,7 +75,7 @@ import { Mail } from '@athenna/mail'
await Mail.from('support@athenna.io')
.to('user@gmail.com')
- .text('Mail content')
+ .content('
Mail content
')
.send()
```
@@ -87,7 +87,7 @@ await Mail.from('support@athenna.io')
.to('user@gmail.com')
.cc('txsoura@athenna.io')
.bcc('support@athenna.io')
- .text('Mail content')
+ .content('Mail content
')
.send()
```
@@ -99,33 +99,33 @@ file. However, you may use the `mailer()` method to send a message
using a specific mailer configuration:
```typescript
-await Mail.mailer('my-mailer')
+await Mail.mailer('my-mailer') 👈
.from('support@athenna.io')
.to('lenon@athenna.io')
- .text('Mail content')
+ .content('Mail content')
.send()
```
-### Sending HTML and Markdown as content
+### Sending Text and Markdown as content
-To send HTML as the content of the mail, you can use the `html()`
-method:
+To send text as the content of the mail, you can set the
+`type` property in second argument:
```typescript
await Mail.mailer('my-mailer')
.from('support@athenna.io')
.to('lenon@athenna.io')
- .html('Mail content
')
+ .content('Mail content', { type: 'text' }) 👈
.send()
```
-And for markdowns you can use the `markdown()` method:
+And for markdowns you can use the `markdown` type:
```typescript
await Mail.mailer('my-mailer')
.from('support@athenna.io')
.to('lenon@athenna.io')
- .markdown('# Mail content')
+ .content('# Mail content', { type: 'markdown' }) 👈
.send()
```
@@ -140,29 +140,37 @@ const userEmail = 'lenon@athenna.io'
await Mail.from('support@athenna.io')
.to(userEmail)
- .view('mail/welcome', { email: userEmail })
+ .cc('mailer1@athenna.io, mailer2@athenna.io')
+ .bcc('mailer3@athenna.io, mailer4@athenna.io')
+ .content('This is the mail body')
+ .view('mail/welcome', { email: userEmail }) 👈
.send()
```
+Any data that you provide using the `Mail` facade will be
+available to you in your view:
+
+```html title="Path.views('mail/welcome.edge')"
+
+{{ to }}
+{{ cc }}
+{{ bcc }}
+{{ from }}
+{{ content }}
+
+
+{{ email }}
+```
+
### Previewing mail templates in the browser
When designing a mailable's template, it is convenient to quickly
preview the rendered mailable in your browser like a typical
Edge template. For this reason, Athenna allows you to return any
-mailable directly from a route closure or controller by using the
-`response.view()` method, allowing you to quickly preview its
-design without needing to send it to an actual email address:
+mailable directly from a route using the `Route.view()` method,
+allowing you to quickly preview its design without needing to
+send it to an actual email address:
```typescript title="Path.routes('http.ts')"
-Route.get('/mailable', ({ response }) => {
- return response.view('mail.welcome', { email: 'lenon@athenna.io' })
-})
+Route.view('/mailable', 'mail.welcome', { email: 'lenon@athenna.io' })
```
-
-
-
-
-
-
-
-