snipworks / php-smtp
Simple PHP SMTP Mail Send Script
v2.0.4
2020-09-06 10:10 UTC
Requires
- php: >=5.3
- ext-fileinfo: *
- ext-openssl: *
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
An easy to use SMTP (Simple Mail Transfer Protocol) library which helps you to send emails.
Installation
composer require snipworks/php-smtp
Examples
Unsecured
<?php use Snipworks\Smtp\Email; $mail = new Email('smtp.example.com', 25); $mail->setLogin('sender@example.com', 'password'); $mail->addTo('recipient@example.com', 'Example Receiver'); $mail->setFrom('example@example.com', 'Example Sender'); $mail->setSubject('Example subject'); $mail->setHtmlMessage('<b>Example message</b>...'); if($mail->send()){ echo 'Success!'; } else { echo 'An error occurred.'; }
Secured (TLS)
<?php use Snipworks\Smtp\Email; $mail = new Email('smtp.example.com', 587); $mail->setProtocol(Email::TLS); $mail->setLogin('sender@example.com', 'password'); $mail->addTo('recipient@example.com', 'Example Receiver'); $mail->setFrom('example@example.com', 'Example Sender'); $mail->setSubject('Example subject'); $mail->setHtmlMessage('<b>Example message</b>...'); if($mail->send()){ echo 'Success!'; } else { echo 'An error occurred.'; }
It's discouraged to hard-code the SMTP login credentials like in the examples above. It's recommended to put them inside another file and load it or set it to environment variable
<?php // config.php define('SMTP_PRIMARY_EMAIL', 'sender@example.com'); define('SMTP_PRIMARY_PASSWORD', 'my very secret password');
<?php require_once('config.php'); // ... $mail->setLogin(SMTP_PRIMARY_EMAIL, SMTP_PRIMARY_PASSWORD); // ...
It's also recommended to put the config outside the public web root if possible. This for example prevents people from including your PHP file remotely by a misconfiguration.