Hello,
I'm on the half way except completing send methods of transport adapters.
I have currently these classes and methods:
Phalcon\Mail
__construct([optional] array options)
Construct the class and call setOptions if optional "options" parameter given.
setOptions(array options);
Sets all options array to protected _options array. Options are like "to", "from", "subject", "transport", etc.
getOptions([optional] string name);
Returns options as an array, if optional "name" parameter is given it returns option value (string|array|object)
_getAddressList(array|string addresses) - private
Parses addresses for internal use.
setId(string id)
getId (Message Id)
setType(string type, [optional]string charset);
getType (Content-Type)
setCharset(string charset)
getCharset (content-type charset)
setTransport(object Phalcon\Mail\Transport)
getTransport
setFrom(string|array from)
getFrom
setTo(string|array to)
getTo
setCc(string|array cc)
getCc
setBcc(string|array bcc)
getBcc
send() - this will pass all options/headers to transport adapter and fire adapter's "send" method.
Phalcon\Mail\Transport - abstract class
__construct - public
send - protected | abstract
Phalcon\Mail\Transport\PHP - extends from Phalcon\Mail\Transport
send - protected
I'll continue implementing other properties like replyTo, return-path, etc.
Here are the sample code:
$transport = new Phalcon\Mail\Transport\PHP; // PHP adapter, will use "mail" function.
$mail = new Phalcon\Mail(array(
'subject' => 'Test mail',
'transport' => $transport
));
$mail->setBody("bla bla");
$mail->send();