1. Go to this page and download the library: Download net-tools/mailing library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
net-tools / mailing example snippets
Mailer::getDefault()->expressSendmail(
'<b>This is a</b> test',
'[email protected]',
'[email protected]',
'This is a subject',
array('/home/tmp/invoice.pdf')
);
$mail = Mailer::addTextHtmlFromText('\*\*This is a\*\* test');
$mail = Mailer::addAttachment($mail, '/home/tmp/invoice.pdf', 'your_invoice.pdf', 'application/pdf');
Mailer::getDefault()->sendmail($mail, '[email protected]', '[email protected]', 'This is a subject');
$smtpmailer = new Mailer(new MailSenders\SMTP(array('host'=>'mysmtphost.com', 'username'=>'user', 'password'=>'1234')));
$smtpmailer->sendmail($mail, '[email protected]', '[email protected]', 'This is a subject');
// assuming that $email is a very simple email with a multipart/alternative content
$mail = EmlReader::parseString($email);
// this line prints MailMultipart (class name of the MailContent object)
echo get_class($mail);
// the following lines extract the text/plain and text/html sub-parts
$textplain_content = $mail->getPart(0)->toString();
$htmlpart_content = $mail->getPart(1)->toString();
EmlReader::destroy($mail);
// create a Store object to manage queues
$store = new MailSenderQueue\Store('~/home/path_to_queue_subsystem_root');
// create a new queue, which sends emails through batches of 75 items
$queue = $store->createQueue('title_of_queue', 75);
$id = $queue->id;
// create an email content with text/plain and text/html parts
$mail = Mailer::addTextHtmlFromText('\*\*This is a\*\* test');
// then send email (of course this last line is usually called within a loop, to queue all items at once
$queue->push($mail, '[email protected]', '[email protected]', 'Email subject here');
// reopen the same store
$store = new MailSenderQueue\Store('~/home/path_to_queue_subsystem_root');
// getting queue with `$id` (saved from above call)
$queue = $store->getQueue($id);
// send a batch
$queue->send(Mailer::getDefault());
// list of strategies with an optionnal paramaters set name
$msenders = ['SMTP:params1', 'PHPMail'];
// setting data for all strategies (json-formatted string)
$msdata = '{"SMTP:params1":{"className":"SMTP","host":"value1","username":"value2","password":"value3"}, "PHPMail":{}}';
// active strategy
$ms = 'SMTP:params1';
// create the facade object, through a list of sending strategies proxies (we don't create real `MailSenders\MailSenderIntf` objects), described with json structure
$f = MailSendersFacade\Facade::facadeProxiesFromJson($msenders, $msdata, $ms);
// ... do some stuff such as listing mail senders
// now, get the active mail sender and create the concrete `MailSenders\MailSenderIntf` object, passing it to Mailer constructor
$m = new Mailer($f->getActiveMailSender());
$mailer = Mailer::getDefault();
// first, we create a helper object, with minimum parameters (mailer object, body content, sender, recipient subject, optional parameters)
$msh = new MailSenderHelpers\MailSenderHelper($mailer, 'raw mail as text', 'text/plain', '[email protected]', 'subject of email', $params);
// OR : $msh = new MailSenderHelpers\MailSenderHelper($mailer, 'mail as <b>html</b>', 'text/html', '[email protected]', 'subject of email', $params);
// prepare the mail : checking
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.