schema31/php-ci-mailer

There is no license information available for the latest version (0.0.4) of this package.

0.0.4 2020-09-08 13:53 UTC

This package is auto-updated.

Last update: 2024-05-08 21:34:12 UTC


README

======

Packagist

Mailer for CodeIgniter.

Install

You can install the library using composer:

$ composer require schema31/php-ci-mailer

How to use

Configurations

Here the list of all configuration attributes supported:

Preference Default Value Options Description
useragent CodeIgniter None The “user agent”.
protocol mail mail sendmail
mailpath /usr/sbin/sendmail None The server path to Sendmail.
smtp_host No Default None SMTP Server Address.
smtp_user No Default None SMTP Username.
smtp_pass No Default None SMTP Password.
smtp_port 25 None SMTP Port.
smtp_timeout 5 None SMTP Timeout (in seconds).
smtp_keepalive FALSE TRUE FALSE
smtp_crypto No Default tls ssl
wordwrap TRUE TRUE FALSE
wrapchars 76 None Character count to wrap at.
mailtype text text html
charset $config['charset'] Character set (utf-8, iso-8859-1, etc.).
validate FALSE TRUE FALSE
priority 3 1 2
crlf \n “\r\n” “\n”
newline \n “\r\n” “\n”
bcc_batch_mode FALSE TRUE FALSE
bcc_batch_size 200 None Number of emails in each BCC batch.
dsn FALSE TRUE FALSE
from_email No Default None “From” e-mail address.
from_name No Default None “From” display name.
prefix_subject No Default None If you want to set a prefix for your subject

Internal configuration

You can use an array of configurations:

$config = [];
$config['protocol'] = 'smtp';// mail, sendmail, smtp
$config['smtp_host'] = 'smtp_host';// SMTP Server Address.
$config['smtp_user'] = 'smtp_user';// SMTP Username.
$config['smtp_pass'] = 'smtp_pass';// SMTP Password.
$config['smtp_port'] = '25';// SMTP Port.
$config['mailtype'] = 'html';// text or html
$config['smtp_timeout'] = '30';// SMTP Timeout (in seconds).
$config['from_email'] = 'noreply@example.it';
$config['from_name'] = 'CI MAILER';
$config['prefix_subject'] = 'Mailer - ';

$mailer = new \Schema31\CiMailer\Mailer($config);

Configuration file

You can use the file named "cemail.php" in application/config folder and the library loads it automatically:

$mailer = new \Schema31\CiMailer\Mailer();

Adding recipients

You can add a single or multiple recipients (like the "to", "cc", "bcc" recipient) with:

$mailer = new \Schema31\CiMailer\Mailer();

$mailer->setSingleTo("foo01@bar.com"); //Single "to" recipient
$mailer->setSingleCc("foo02@bar.com"); //Single "cc" recipient
$mailer->setSingleBcc("foo03@bar.com"); //Single "bcc" recipient

Or

$mailer = new \Schema31\CiMailer\Mailer();

$mailer->setMultipleTo(["foo01@bar.com", "foo0101@bar.com"]); //Multiple "to" recipient: "foo01@bar.com" and "foo0101@bar.com"
$mailer->setMultipleCc(["foo02@bar.com", "foo0202@bar.com"]); //Multiple "cc" recipient: "foo02@bar.com" and "foo0202@bar.com"
$mailer->setMultipleBcc(["foo03@bar.com", "foo0303@bar.com"]); //Multiple "bcc" recipient: "foo03@bar.com" and "foo0303@bar.com"

Or

$mailer = new \Schema31\CiMailer\Mailer();

$mailer->setSingleTo("foo01@bar.com,foo0101@bar.com"); //Multiple "to" recipient: "foo01@bar.com" and "foo0101@bar.com" comma separated
$mailer->setSingleCc("foo02@bar.com,foo0202@bar.com"); //Multiple "cc" recipient: "foo02@bar.com" and "foo0202@bar.com" comma separated
$mailer->setSingleBcc("foo03@bar.com,foo0303@bar.com"); //Multiple "bcc" recipient: "foo03@bar.com" and "foo0303@bar.com" comma separated

Printing debbuger message

If you want to print debug message after the send of the email:

$mailer = new \Schema31\CiMailer\Mailer();

//...

echo $mailer->printDebugger();

Sending an email

$mailer = new \Schema31\CiMailer\Mailer();

//Method chaining is allowed
$mailer
->setSingleTo("foo01@bar.com")
->setSubject("Email di prova #" . uniqid())
->setMessage("La email di testo")
->send(); //returns true if the email is sent, false otherwise.