A package that simplifies SMTP email sending in PHP applications, providing flexible integration with environment variables for easy configuration.
You can install the package via Composer. Run the following command in your terminal:
composer require lithemod/mail
Make sure the environment variable package is properly configured, as support-mail
relies on these settings.
Here’s a comprehensive guide on how to use the package to send emails:
Create a .env
file in the root of your project and define your email settings:
MAIL_HOST=smtp.yourprovider.com
MAIL_PORT=587
MAIL_USERNAME=your-email@domain.com
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@domain.com
MAIL_FROM_NAME=Your Name or Company
<?php
require 'vendor/autoload.php';
use Lithe\Support\Mail;
use Lithe\Support\Env;
// Load environment variables
Env::load(__DIR__);
// Send the email
$mail = Mail::to('recipient@domain.com', 'Recipient Name')
->subject('Email Subject')
->text('Body of the email in plain text')
->send();
if ($mail) {
echo 'Email sent successfully!';
} else {
echo 'Failed to send email.';
}
<?php
$mail = Mail::to('recipient@domain.com', 'Recipient Name')
->subject('Email Subject')
->html('<h1>Email body in HTML</h1>')
->send();
if ($mail) {
echo 'Email sent successfully!';
} else {
echo 'Failed to send email.';
}
You can add CC and BCC recipients to your emails using the following methods:
$mail = Mail::to('recipient@domain.com', 'Recipient Name')
->cc('cc@example.com', 'CC Name')
->subject('Email Subject')
->text('Body of the email in plain text')
->send();
$mail = Mail::to('recipient@domain.com', 'Recipient Name')
->bcc('bcc@example.com', 'BCC Name')
->subject('Email Subject')
->text('Body of the email in plain text')
->send();
You can set a reply-to address using the replyTo
method:
$mail = Mail::to('recipient@domain.com', 'Recipient Name')
->replyTo('replyto@example.com', 'Reply-To Name')
->subject('Email Subject')
->text('Body of the email in plain text')
->send();
To attach files to your email, use the attach
method:
$mail = Mail::to('recipient@domain.com', 'Recipient Name')
->subject('Email Subject')
->text('Body of the email in plain text')
->attach('/path/to/file.txt', 'CustomFilename.txt')
->send();
You can add custom headers to your email as follows:
$mail = Mail::to('recipient@domain.com', 'Recipient Name')
->subject('Email Subject')
->text('Body of the email in plain text')
->addHeader('X-Custom-Header', 'HeaderValue')
->send();
- PHP 7.4 or higher
- Environment variables configured in the
.env
file
This project is licensed under the MIT License. See the LICENSE file for details.