Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EZMAIL

Latest Stable Version License PHP Version Require

Overview

EZMAIL is a lightweight package created with PHP using the official MIME documentation to send emails using the latest SMTP configuration. By using this package you will be able to send emails securely to anyone with a valid email address.

Features

  • Send SMTP emails from PHP without mail()
  • Send one or multiple attachments supported
  • Send emails with multiple To, CC and BCC
  • Secure SMTP connection
  • Supports LOGIN, PLAIN and XOAUTH2 login types
  • Compatible with php 7.4 or later
  • Easy implementation within any php code
  • Supports Plain or HTML body
  • Log details while in debug mode

Further Documentation for developers

RFC0821

RFC0822

RFC1869

RFC2045

RFC2821

Installation

composer require ezmail/ezmail

Usage

<?php
    use EZMAIL\EZMAIL; //update this according to your path.
    use \Exceptions; 

    #Autoload
    require 'vendor/autoload.php';

    $ezmail = new EZMAIL();

    #Config
    $ezmail->appName = "EZMAIL";
    $ezmail->hostName = "smtp.myhost.com";
    $ezmail->portNumber = 123;
    $ezmail->username = "myUsername";
    $ezmail->password = "myPassword";

    #Email
    $ezmail->subject = "this is subject";
    $ezmail->body = "this is message";
    $ezmail->to = [ "Mr Recv" => "toEmail@example.com" ];
    # or
    $ezmail->to = [ "toEmail@example.com" ]; # name is optional for all address fields
    
    #Optionally can be configured directly from the constructor on PHP 8+
    #$ezmail = new EZMAIL(appName: "EZMAIL", hostName: "smtp.myhost.com", ...);

    #uncomment to send email with attachments. A full file path or url is required.
    //$ezmail->attachments = [ "My File.txt" => "https://mywebsite/myfile.txt" ];
    // or
    //$ezmail->attachments = [ "https://mywebsite/myfile.txt" ];

    try
    {
        $mailId = $ezmail->send(); // Mail ID from the mail server here.
    }
    catch(Exception $ex)
    {
        print($ex->getMessage());
    } 

List of available configurations

    #New instance
    $ezmail = new EZMAIL();

    $ezmail->subject = "";
    $ezmail->body = "";
    $ezmail->to = []; 
    $ezmail->from = []; //optional
    $ezmail->cc = []; //optional
    $ezmail->bcc = []; //optional
    $ezmail->replyTo = []; //optional
    $ezmail->attachments = []; //optional
    $ezmail->bounceAddress = ""; //optional
    $ezmail->skipMessageIdValidation = true; //optional

    #Connection.
    $ezmail->appName = "EZMAIL";
    $ezmail->hostName = "";
    $ezmail->portNumber = 587;
    $ezmail->username = "";
    $ezmail->password = "";
    $ezmail->timeout = 30; //optional
    $ezmail->authType = SMTP::AUTH_TYPE_STANDARD; // or SMTP::AUTH_TYPE_PLAIN, SMTP::AUTH_TYPE_2AUTH
    $ezmail->authToken = ""; //if using SMTP::AUTH_TYPE_2AUTH
    $ezmail->isDebug = false; //true to enable SMTP logging

    #send mail
    $ezmail->send();

Tips

  • If you are using gmail as your SMTP server you must enable the less secure apps on google. Learn more

Credits

@jerryurenaa

@realivanjx

License

EZMAIL is MIT licensed.

Powered by Nerdtrix.com | Reinventing the wheels for a better future!

About

EZMAIL is a lightweight package created with PHP using the official MIME documentation to send emails using the latest SMTP configuration. By using this package you will be able to send encrypted emails to anyone with a valid email address.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages