dev-master
9999999-dev
MIT
The Requires
- swiftmailer/swiftmailer ~5.1
- php >=5.5.9
The Development Requires
by Michel Hognerud
Wallogit.com
2017 © Pedro Peláez
If you are working on an Asgard project you don't need to install this library as it is already part of the standard libraries., (*3)
composer require asgard/email 0.*
In a configuration file, in config/, add:, (*5)
#smtp
email:
driver: Asgard\Email\SwiftEmail
transport => smtp
username => ...
password => ...
security => ssl #or null
host => ...
port => ...
#sendmail
email:
driver: Asgard\Email\SwiftEmail
transport => sendmail
command => ...
#mail()
email:
driver: Asgard\Email\SwiftEmail
$email = $container['email'];
The container is often accessible as a method parameter or through a ContainerAware object. You can also use the singleton but it is not recommended., (*6)
#smtp
$config = [
'transport' => 'smtp',
'username' => '...',
'password' => '...',
'security' => 'ssl', #or null
'host' => '...',
'port' => '...',
];
#sendmail
$config = [
'transport' => 'sendmail',
'command' => '...',
];
#mail()
$config = [];
$email = new \Asgard\Email\SwiftEmail; $email->transport($config);
$email->send(function($message) {
$message->to('bob@example.com');
$message->from('joe@example.com');
$message->cc('joe@example.com');
$message->bcc('joe@example.com');
$message->text('hello!');
$message->html('<h1>hello!</h1>');
});
$message inherits \Swift_Message so you can use any of its methods as well. See its documentation., (*9)
Directly attach a file:, (*11)
$email->send(function($message) {
//...
$message->attachFile('/path/to/file.jpg', 'myhouse.jpg', 'image/jpeg');
});
Or data:, (*12)
$email->send(function($message) {
//...
$message->attachData($data, 'myhouse.jpg', 'image/jpeg');
});
Directly embed an image:, (*14)
$email->send(function($message) {
//...
$message->html('<h1>Hello!</h2> See my house '.$message->embedFile('/path/to/file.jpg', 'myhouse.jpg', 'image/jpeg'));
});
Or data:, (*15)
$email->send(function($message) {
//...
$message->html('<h1>Hello!</h2> See my house '.$message->embedData($data, 'myhouse.jpg', 'image/jpeg'));
});
For tests and development, you might want to use fake mails, not to send real emails. Fake mails are simply written on a local., (*17)
Configuration, (*18)
email:
driver: Asgard\Email\FakeEmail
file: storage/email.txt
Besides this, the usage is the same as for other emails., (*19)
Please submit all issues and pull requests to the asgardphp/asgard repository., (*20)
The Asgard framework is open-sourced software licensed under the MIT license, (*21)
MIT