PHP SMTP Mailer library implemented by socket
$mailer = new \yidas\socketMailer\Mailer([
'host' => 'mail.your.com',
'username' => 'service@your.com',
'password' => 'passwd',
]);
$result = $mailer
->setSubject('Mail Title')
->setBody('Content Text')
->setTo(['name@your.com', 'peter@your.com' => 'Peter'])
->setFrom(['service@your.com' => 'Service Mailer'])
->setCc(['cc@your.com' => 'CC Receiver'])
->setBcc(['bcc@your.com'])
->send();
This library requires the following:
- PHP 5.4.0+
Run Composer in your project:
composer require yidas/socket-mailer
Then you could call it after Composer is loaded depended on your PHP framework:
require __DIR__ . '/vendor/autoload.php';
use \yidas\socketMailer\Mailer;
To use localhost MTA:
$mailer = new \yidas\socketMailer\Mailer()
To configure a external MTA server:
$mailer = new \yidas\socketMailer\Mailer([
'host' => 'mail.your.com',
'username' => 'service@your.com',
'password' => 'passwd',
'port' => 587,
'encryption' => 'tls',
]);
$mailer = new \yidas\socketMailer\Mailer([
// ...
'port' => 465,
'encryption' => 'ssl',
]);
If you want to connect to SMTP relay server with free auth in allowed networks:
$mailer = new \yidas\socketMailer\Mailer([
'host' => 'mail.your.com',
'port' => 25,
]);
public self debugOn()
public self setFrom(string|array $form)
public self setTo(array $recipients)
public self setCc(array $recipients)
public self setBcc(array $recipients)
public self setBody(string $text)
public self setSubject(string $title)
public self addHeader($key, $value)
Example:
$mailer = $mailer->addHeader('Your-Header-Name', 'the header value');
public boolean send()