Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 4093e16

Browse files
committedApr 23, 2018
move documentation
1 parent 93c8387 commit 4093e16

File tree

2 files changed

+2
-265
lines changed

2 files changed

+2
-265
lines changed
 

‎CHANGELOG.md

-72
This file was deleted.

‎README.md

+2-193
Original file line numberDiff line numberDiff line change
@@ -9,197 +9,6 @@
99

1010
## Introduction
1111

12-
This is a package that stores and queues e-mails using a database table. Easily send e-mails using a cronjob and schedule e-mails that should be sent at a specific date and time.
12+
This package allows you to easily send e-mails using a database table.
1313

14-
## Table Of Contents
15-
16-
- [Installation](#installation)
17-
- [Usage](#usage)
18-
- [Send an e-mail](#send-an-email)
19-
- [Specify multiple recipients](#specify-multiple-recipients)
20-
- [CC and BCC](#cc-and-bcc)
21-
- [Mailables](#using-mailables)
22-
- [Attachments](#attachments)
23-
- [Custom sender](#custom-sender)
24-
- [Scheduling](#scheduling)
25-
- [Resend failed e-mails](#resend-failed-e-mails)
26-
- [Encryption (optional)](#encryption-optional)
27-
- [Test mode (optional)](#test-mode-optional)
28-
- [E-mails to send per minute](#e-mails-to-send-per-minute)
29-
30-
### Installation
31-
32-
First, require the package using composer.
33-
34-
```bash
35-
composer require buildcode/laravel-database-emails
36-
```
37-
38-
If you're running Laravel 5.5 or later you may skip this step. Add the service provider to your application.
39-
40-
```php
41-
Buildcode\LaravelDatabaseEmails\LaravelDatabaseEmailsServiceProvider::class,
42-
```
43-
44-
Publish the configuration files.
45-
46-
```bash
47-
php artisan vendor:publish --provider=Buildcode\\LaravelDatabaseEmails\\LaravelDatabaseEmailsServiceProvider
48-
```
49-
50-
Create the database table required for this package.
51-
52-
```bash
53-
php artisan migrate
54-
```
55-
56-
Now add the e-mail cronjob to your scheduler.
57-
58-
```php
59-
/**
60-
* Define the application's command schedule.
61-
*
62-
* @param \Illuminate\Console\Scheduling\Schedule $schedule
63-
* @return void
64-
*/
65-
protected function schedule(Schedule $schedule)
66-
{
67-
$schedule->command('email:send', ['--timeout' => 300])->everyMinute()->withoutOverlapping(5);
68-
}
69-
```
70-
71-
Using the above configuration, the `email:send` process will exit after 5 minutes (`--timeout`) and won't overlap if the process still runs after 5 minutes (`withoutOverlapping`)
72-
73-
### Usage
74-
75-
#### Send an email
76-
77-
```php
78-
use Buildcode\LaravelDatabaseEmails\Email;
79-
80-
Email::compose()
81-
->label('welcome')
82-
->recipient('john@doe.com')
83-
->subject('This is a test')
84-
->view('emails.welcome')
85-
->variables([
86-
'name' => 'John Doe',
87-
])
88-
->send();
89-
```
90-
91-
#### Specify multiple recipients
92-
93-
```php
94-
use Buildcode\LaravelDatabaseEmails\Email;
95-
96-
Buildcode\LaravelDatabaseEmails\Email::compose()
97-
->recipient([
98-
'john@doe.com',
99-
'jane@doe.com'
100-
]);
101-
```
102-
103-
#### CC and BCC
104-
105-
```php
106-
use Buildcode\LaravelDatabaseEmails\Email;
107-
108-
Email::compose()
109-
->cc('john@doe.com')
110-
->cc(['john@doe.com', 'jane@doe.com'])
111-
->bcc('john@doe.com')
112-
->bcc(['john@doe.com', 'jane@doe.com']);
113-
```
114-
115-
#### Using mailables
116-
117-
You may also pass a mailable to the e-mail composer.
118-
119-
```php
120-
use Buildcode\LaravelDatabaseEmails\Email;
121-
122-
Email::compose()
123-
->mailable(new OrderShipped())
124-
->send();
125-
```
126-
127-
#### Attachments
128-
129-
```php
130-
use Buildcode\LaravelDatabaseEmails\Email;
131-
132-
Email::compose()
133-
->attach('/path/to/file');
134-
```
135-
136-
Or for in-memory attachments:
137-
138-
```php
139-
use Buildcode\LaravelDatabaseEmails\Email;
140-
141-
Email::compose()
142-
->attachData('<p>Your order has shipped!</p>', 'order.html');
143-
```
144-
145-
#### Custom Sender
146-
147-
```php
148-
use Buildcode\LaravelDatabaseEmails\Email;
149-
150-
Email::compose()
151-
->from('john@doe.com', 'John Doe');
152-
```
153-
154-
#### Scheduling
155-
156-
You may schedule an e-mail by calling `later` instead of `send`. You must provide a Carbon instance or a strtotime valid date.
157-
158-
```php
159-
use Buildcode\LaravelDatabaseEmails\Email;
160-
161-
Email::compose()
162-
->later('+2 hours');
163-
```
164-
165-
#### Resend failed e-mails
166-
167-
##### Resend all failed e-mails
168-
169-
```bash
170-
php artisan email:resend
171-
```
172-
173-
##### Resend a specific failed e-mail
174-
175-
```bash
176-
php artisan email:resend 1
177-
```
178-
179-
#### Encryption (Optional)
180-
181-
If you wish to encrypt your e-mails, please enable the `encrypt` option in the configuration file. This is disabled by default. Encryption and decryption will be handled by Laravel's built-in encryption mechanism. Please note that by encrypting the e-mail it takes more disk space.
182-
183-
```text
184-
Without encryption
185-
186-
7 bytes (label)
187-
16 bytes (recipient)
188-
20 bytes (subject)
189-
48 bytes (view name)
190-
116 bytes (variables)
191-
1874 bytes (e-mail content)
192-
4 bytes (attempts, sending, failed, encrypted)
193-
57 bytes (created_at, updated_at, deleted_at)
194-
... x 10.000 rows = ± 21.55 MB
195-
196-
With encryption the table size is ± 50.58 MB.
197-
```
198-
199-
#### Test mode (Optional)
200-
201-
When enabled, all newly created e-mails will be sent to the specified test e-mail address. This is turned off by default.
202-
203-
#### E-mails to send per minute
204-
205-
To configure how many e-mails should be sent each command, please check the `limit` option. The default is `20` e-mails every command.
14+
Official documentation, changelog and more [is located here](https://stackkit.github.io/laravel-database-emails-docs/).

0 commit comments

Comments
 (0)
Please sign in to comment.