Skip to content
/ Mailer Public

This is a simple and fast library for sending mail with PHP.

License

Notifications You must be signed in to change notification settings

InitPHP/Mailer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mailer

This is a simple library for sending mail with SMTP consisting of a single class.

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

Instalation

composer require initphp/mailer

Requirements

  • PHP 7.4 or higher
  • MBString Extension
  • Iconv Extension
  • FileInfo Extension

Usage

$config = [
    'mailType'  => 'text' // or 'html'
    'protocol'  => 'smtp' // or 'mail' or 'sendmail'
    'SMTPAuth'  => true,
    'SMTPHost'  => 'smtp.gmail.com',
    'SMTPUser'  => '[email protected]',
    'SMTPPass'  => 'YourMailPassword',
    'SMTPPort'  => 587
];
$mailer = \InitPHP\Mailer\Mailer::newInstance($config);

$mailer->setFrom('[email protected]', 'Muhammet Şafak');
//$mailer->setTo('[email protected]');
//$mailer->setCC('[email protected]');
//$mailer->setBCC('[email protected]');
$mailer->setSubject('Mail Subject');
$mailer->setMessage('Mail Body Message');
$mailer->send();

Methods

newInstance()

Creates a new mailer object and returns it.

public static function newInstance(?array $config = null): \InitPHP\Mailer\Mailer

clear()

public function clear(bool $clearAttachments = false): self

setHeader()

public function setHeader(string $header, string $value): self

setFrom()

public function setFrom(string $from, string $name = '', ?string $returnPath = null): self

setReplyTo()

public function setReplyTo(string $replyTo, string $name = ''): self

setTo()

public function setTo(string|array $to): self

setCC()

public function setCC(string $cc): self

setBCC()

public function setBCC(string $bcc, ?int $limit = null): self

setSubject()

public function setSubject(string $subject): self

setMessage()

public function setMessage(string $body): self

setAttachmentCID()

public function setAttachmentCID(string $fileName): false|string

setAltMessage()

public function setAltMessage(string $str): self

setMailType()

public function setMailType(string $type = 'text'): self
  • $type : text or html

setWordWrap()

public function setWordWrap(bool $wordWrap = true): self

setProtocol()

public function setProtocol(string $protocol = 'mail'): self
  • $protocol : mail, sendmail or smtp

setPriority()

public function setPriority(int $n = 3): self
  • $n : An integer between 1 and 5 inclusive.

setNewline()

public function setNewline(string $newLine = \PHP_EOL): self

setCRLF()

public function setCRLF(string $CRLF = \PHP_EOL): self

attach()

public function attach(string|resource $file, string $disposition = '', ?string $newName = null, ?string $mime = null): false|self

send()

public function send(bool $autoClear = true): bool

printDebugger()

public function printDebugger(array $include = ['headers', 'subject', 'body']): string

Getting Help

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.

Getting Involved

All contributions to this project will be published under the MIT License. By submitting a pull request or filing a bug, issue, or feature request, you are agreeing to comply with this waiver of copyright interest.

There are two primary ways to help:

  • Using the issue tracker, and
  • Changing the code-base.

Using the issue tracker

Use the issue tracker to suggest feature requests, report bugs, and ask questions. This is also a great way to connect with the developers of the project as well as others who are interested in this solution.

Use the issue tracker to find ways to contribute. Find a bug or a feature, mention in the issue that you will take on that effort, then follow the Changing the code-base guidance below.

Changing the code-base

Generally speaking, you should fork this repository, make changes in your own fork, and then submit a pull request. All new code should have associated unit tests that validate implemented features and the presence or lack of defects. Additionally, the code should follow any stylistic and architectural guidelines prescribed by the project. In the absence of such guidelines, mimic the styles and patterns in the existing code-base.

Credits

License

Copyright © 2022 MIT License