Hello, community! Today, I want to introduce you to Lithe Mail, a package that simplifies SMTP email sending in PHP applications. It offers flexible integration with environment variables for easy configuration. Letβs take a look at how to set it up and use it in your project.
Installation
You can install the package via Composer. Run the following command in your terminal:
composer require lithemod/mail
Usage
Hereβs a comprehensive guide on how to use the package to send emails:
1. Setting Up Environment Variables
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
2. Sending a Simple Text Email
<?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.';
}
3. Sending an HTML 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.';
}
4. Adding CC and BCC Recipients
You can add CC and BCC recipients to your emails using the following methods:
Adding CC
$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();
Adding BCC
$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();
5. Setting Reply-To Address
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();
6. Attaching Files
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();
7. Adding Custom Headers
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();
Final Thoughts
Lithe Mail offers a practical and efficient way to send emails in your PHP applications. With support for environment variables and various features, it can adapt to your email sending needs. Try it out and see how it can enhance communication in your application!
If you have any questions or suggestions, feel free to comment below!
Top comments (5)
This looks like a really useful package for simplified email sending! Having easy configuration with environment variables is a big plus. I'm definitely going to try it out in my next project.
Thank you for your feedback! Iβm glad you found Lithe Mail useful. The simplified configuration with environment variables really makes it easier to customize and integrate into different projects. For more information about Lithe Mail and the Lithe framework itself, you can check it out here. If you have any questions or need assistance while trying out the package, feel free to reach out. Iβm looking forward to hearing about your experience in your next project!
sure i will let u know once i tried
looks like another phpmailer
Thank you for the comment! π Lithe Mail differentiates itself from PHPMailer by offering simplified configuration with environment variables and a fluid, intuitive syntax with method chaining that makes it easier to use in PHP projects. Focused on practicality and security, it provides a more streamlined email sending experience, seamlessly fitting into the developer's workflow. Weβre always open to suggestions to improve it further! π