dev-master
9999999-dev
MIT
The Requires
- swiftmailer/swiftmailer ~5.1
- php >=5.5.9
The Development Requires
by Michel Hognerud
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