public static function fromArray(array $array) { $message = new self($array['subject']); if (null !== $array['sender']) { $message->setSender($array['sender']); } if (null !== $array['from']) { $message->setFrom($array['from']); } if (null !== $array['to']) { $message->setTo($array['to']); } if (null !== $array['replyTo']) { $message->setReplyTo($array['replyTo']); } if (null !== $array['cc']) { $message->setCc($array['cc']); } if (null !== $array['bcc']) { $message->setBcc($array['bcc']); } if (null !== $array['text']) { $message->setBodyWithAlternative($array['text'], $array['html']); } foreach ($array['customHeaders'] as $label => $valueList) { foreach ($valueList as $value) { $message->getHeaders()->addTextHeader($label, $value); } } return $message; }
/** * Sets the Mail Headers * @param Object $result * @return self */ static function parseOverview($result) { $instance = new self(); $instance->setSubject($result->subject); $instance->setFrom($result->from); $instance->setDate($result->date); $instance->setRead($result->seen); $instance->setMsgNo($result->msgno); return $instance; }
public static function initServer($config) { $class = new self($config['server'], $config['port'], true, $config['user'], $config['pass']); $class->setFrom($config['email'], $config['name']); return $class; }
/** * Objective-C style constructor * * @param string $queryString */ public static function initWithString($queryString) { $parts = array('prefix' => array(), 'base' => array(), 'ask' => array(), 'select_clause' => array(), 'from' => array(), 'from_named' => array(), 'where' => array(), 'order' => array(), 'limit' => array(), 'offset' => array()); $var = '[?$]{1}[\\w\\d]+'; $expr = '(\\w*\\(.*\\))'; // /(BASE.*?\s)?(PREFIX.*?\s)*(ASK|((COUNT(\s)*(\(.*?\))))|(SELECT(\s)+)(DISTINCT(\s)+)?(COUNT(\s)+(\(.*?\)(\s)))?(\?\w+\s+|\*)*)/si $tokens = array('prefix' => '/((PREFIX\\s+[^:\\s]+:\\s+<[^\\s]*>\\s*)+)/si', 'base' => '/BASE\\s+<(.+?)>/i', 'ask' => '/(ASK)/si', 'select_clause' => '/((SELECT\\s+)(DISTINCT\\s+)?)(\\*|((COUNT\\s*\\((\\?\\w*|\\*)\\)\\s+(as\\s+(\\?\\w+\\s+))?)|(\\?\\w+\\s+))*)/si', 'from' => '/FROM\\s+<(.+?)>/i', 'from_named' => '/FROM\\s+NAMED\\s+<(.+?)>/i', 'where' => '/(WHERE\\s+)?\\{.*\\}/si', 'order' => '/ORDER\\s+BY((\\s+' . $var . '|\\s+' . $expr . '|\\s+(ASC|DESC)\\s*' . $expr . ')+)/i', 'limit' => '/LIMIT\\s+(\\d+)/i', 'offset' => '/OFFSET\\s+(\\d+)/i'); foreach ($tokens as $key => $pattern) { preg_match_all($pattern, $queryString, $parts[$key]); } //echo $queryString; //var_dump($parts); $queryObject = new self(); if (isset($parts['prefix'][0][0]) || isset($parts['base'][0][0])) { $prologue = ''; if (isset($parts['base'][1][0])) { $prologue .= 'BASE <' . $parts['base'][1][0] . '>' . PHP_EOL; } if (isset($parts['prefix'][0][0])) { $prologue .= $parts['prefix'][0][0]; } $queryObject->setProloguePart($prologue); // whole match } if (isset($parts['ask'][0][0])) { $queryObject->setAsk(true); } if (isset($parts['select_clause'][0][0])) { $queryObject->setSelectClause($parts['select_clause'][0][0]); } if (isset($parts['from'][1][0])) { $queryObject->setFrom($parts['from'][1]); } if (isset($parts['from_named'][1][0])) { $queryObject->setFromNamed($parts['from_named'][1]); } if (isset($parts['where'][0][0])) { $queryObject->setWherePart($parts['where'][0][0]); } if (isset($parts['order'][1][0])) { $queryObject->setOrderClause(trim($parts['order'][1][0])); } if (isset($parts['limit'][1][0])) { $queryObject->setLimit($parts['limit'][1][0]); } if (isset($parts['offset'][1][0])) { $queryObject->setOffset($parts['offset'][1][0]); } return $queryObject; }
static function send($to, $subject, $msg, $attach = '', $attachFilename = '') { $e = new self(); $e->setFrom(ini::get('email-address'), ini::get('email-name')); $e->setTo($to); $e->setSubject($subject); $e->setBody($msg); if (strlen($attach)) { $e->attach($attach, strlen($attachFilename) ? $attachFilename : 'attachment-1'); } return $e->mail(); }
/** * Create an instance from a stringified mail. * @param string $str the mail string * @return \vakata\mail\Mail the mail instance */ public static function fromString($mail) { $rtrn = new self(); $mail = $rtrn->parseParts($mail); foreach ($mail['head'] as $k => $v) { switch (strtolower($k)) { case 'to': $rtrn->setTo($v); break; case 'cc': $rtrn->setCc($v); break; case 'bcc': $rtrn->setBcc($v); break; case 'from': $rtrn->setFrom($v); break; case 'subject': $rtrn->setSubject($v); break; default: $rtrn->setHeader($k, $v); break; } } $rtrn->processPart($mail); return $rtrn; }
protected static function fromStdClass($obj) { $ret = new self($obj->eventid); $ret->setTitle($obj->title); $ret->setDescripion($obj->desc); $ret->setFrom(\DateTime::createFromFormat('Y-m-d H:i:s', $obj->from, new \DateTimeZone("UTC"))); $ret->setTo(\DateTime::createFromFormat('Y-m-d H:i:s', $obj->to, new \DateTimeZone("UTC"))); $ret->getFrom()->setTimezone(new \DateTimeZone(get_option('timezone_string'))); $ret->getTo()->setTimezone(new \DateTimeZone(get_option('timezone_string'))); $ret->setPlace(Place::findById($obj->placeid)); $ret->setPostId($obj->postid); return $ret; }
static function compose($subject, $textbody, $to = null, $from = null) { $m = new self($subject, $textbody); if ($from) { $m->setFrom($from); } if ($to) { $m->addAddress($to); } return $m; }