Download the PHP package asgard/email without Composer
On this page you can find all versions of the php package asgard/email. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package email
- Installation
- Usage in the Asgard Framework
- Usage outside the Asgard Framework
- Send an email
- Attach files
- Attach images
- Fake mail
Installation
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.
composer require asgard/email 0.*
Usage in the Asgard Framework
Configuration
In a configuration file, in config/, add:
#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
Service
$email = $container['email'];
The singleton but it is not recommended.
Usage outside the Asgard Framework
Configuration
#smtp
$config = [
'transport' => 'smtp',
'username' => '...',
'password' => '...',
'security' => 'ssl', #or null
'host' => '...',
'port' => '...',
];
#sendmail
$config = [
'transport' => 'sendmail',
'command' => '...',
];
#mail()
$config = [];
Instance
$email = new \Asgard\Email\SwiftEmail;
$email->transport($config);
Sending an email
$email->send(function($message) {
$message->to('[email protected]');
$message->from('[email protected]');
$message->cc('[email protected]');
$message->bcc('[email protected]');
$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.
Attaching files
Directly attach a file:
$email->send(function($message) {
//...
$message->attachFile('/path/to/file.jpg', 'myhouse.jpg', 'image/jpeg');
});
Or data:
$email->send(function($message) {
//...
$message->attachData($data, 'myhouse.jpg', 'image/jpeg');
});
Embedding images
Directly embed an image:
$email->send(function($message) {
//...
$message->html('<h1>Hello!</h2> See my house '.$message->embedFile('/path/to/file.jpg', 'myhouse.jpg', 'image/jpeg'));
});
Or data:
$email->send(function($message) {
//...
$message->html('<h1>Hello!</h2> See my house '.$message->embedData($data, 'myhouse.jpg', 'image/jpeg'));
});
Fake mail
For tests and development, you might want to use fake mails, not to send real emails. Fake mails are simply written on a local.
Configuration
email:
driver: Asgard\Email\FakeEmail
file: storage/email.txt
Besides this, the usage is the same as for other emails.
Contributing
Please submit all issues and pull requests to the asgardphp/asgard repository.
License
The Asgard framework is open-sourced software licensed under the MIT license