aselsan / codeigniter4-multi-smtp-config
CodeIgniter Multiple SMTP Configuration
v1.1.1
2024-09-01 10:33 UTC
Requires
- php: ^8.0
- codeigniter4/settings: ^2.1
Requires (Dev)
- codeigniter4/framework: ^4.8
- rector/rector: dev-main
This package is auto-updated.
Last update: 2025-03-04 07:19:20 UTC
README
A lightweight Multi-SMTP configuration helper for your CodeIgniter 4 application. This package allows you to use different email accounts simultaneously.
Installation
composer require aselsan/codeigniter4-multi-smtp-config
Publish File Config
php spark smtpconfig:publish
After that, check the app/Config/MultiEmail.php
file, and set it up with your email credentials.
Configuring SMTP in the .env
File
We recommend setting the configuration for each SMTP email in the .env
file instead of using app/Config/MultiEmail.php
.
For example, you can proceed as follows:
#--------------------------------------------------------------------
# MULTI-SMTP CONFIGURATION SETTINGS
#--------------------------------------------------------------------
# email.default.fromName =
# email.default.fromEmail =
# email.default.protocol = smtp
# email.default.SMTPUser =
# email.default.SMTPPass =
# email.default.SMTPHost = smtp.gmail.com
# email.default.SMTPPort = 587
# email.outlook.fromName =
# email.outlook.fromEmail =
# email.outlook.protocol = smtp
# email.outlook.SMTPUser =
# email.outlook.SMTPPass =
# email.outlook.SMTPHost = smtp.office365.com
# email.outlook.SMTPPort = 587
Usage
helper('multi_email'); $email = multi_email(['mailType' => 'html']); $email->setTo('example@gmail.com'); $email->setSubject("Test Send Mail"); $email->setMessage('Hi, Bonjour'); if ($email->send(false) === false) { throw new Exception('Cannot send email:' . $email->printDebugger(['headers'])); } // Clear the email $email->clear();
You can use a different mail config by providing the group name in the second parameter.
helper('multi_email'); $email = multi_email(['mailType' => 'html'], 'outlook'); $email->setTo('example@gmail.com'); $email->setSubject("Test Send Mail"); $email->setMessage('Hi, Bonjour'); if ($email->send(false) === false) { throw new Exception('Cannot send email:' . $email->printDebugger(['headers'])); } // Clear the email $email->clear();
License
This project is licensed under the MIT License - see the LICENSE file for details.