sun/sunmailer is a Laravel package for sunmailer helps you to send email easily..
It currently has 3 GitHub stars and 453 downloads on Packagist (latest version v1.4).
Install it with composer require sun/sunmailer.
Discover more Laravel packages by sun
or browse all Laravel packages to compare alternatives.
Last updated
SunMailer helps you to send email easily.
Just copy SunMailer folder somewhere into your project directory. Then include SunMailer autoloader.
require_once('/path/to/SunMailer/autoload.php');
SunMailer is also available via Composer/Packagist.
composer require sun/sunmailer
Open config.php file located at SunMailer/config.php then,
Setup your SMTP Server ( Default set to Gmail SMTP )
'host' => 'smtp.gmail.com',
'port' => 465,
'encryption' => 'ssl',
Setup your username and password:
'username' => '[email protected]',
'password' => 'secret',
You can also add your “from” and “reply” which will include email & name.
'from' => [ 'email' => '[email protected]', 'name' => 'Administrator' ],
'reply' => [ 'email' => '[email protected]', 'name' => 'Information' ],
Setup your email view directory. If you do not add any path of the view directory then it's pointing your root directory.
'view-directory' => 'app/view'
If you want to test your email locally just set log to true. ( Default set to false )
'log' => false
// namespace
use SunMailer\Mailer;
use SunMailer\View;
use SunMailer\MailerException;
$email = '[email protected]';
$name = 'Test mail name';
$subject = 'Test mail subject';
$body = 'Test mail body';
try
{
if(Mailer::send($email, $name, $subject, $body))
{
echo 'Email has been sent successfully.';
}
}
catch (MailerException $e)
{
echo 'Oops!!! Something goes to wrong. '. $e->getMessage();
}
$attached = 'images/sunmailer.jpg';
if(Mailer::send($email, $name, $subject, $body, $attached))
{
echo 'Email has been sent successfully.';
}
render() method of the View class helps you to render HTML outlook.
View::render('to.path.test');
For pointing your file path use ( . ) or ( / ) , and add your file name without (.php) extension.
$body = View::render('email.test');
if(Mailer::send($email, $name, $subject, $body))
{
echo 'Email has been sent successfully.';
}
You can also pass any value to the view template by the second parameter of the render() method (Default set to null).
$data = [ 'name' => 'Test Name' ];
View::render('email.test', $data);
You need to add a placeholder ( added @ at the begining of your variable name ) for getting this data into view template. For the above an example is given below.
@name
Mailer::logClean();
// to get configuration file
Helper::config();
// to get root directory path
Helper::root_path();
// to get log directory path
Helper::log_path();
// to get temp directory path
Helper::temp_path();
This package is licensed under the MIT License