Example #1
0
 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;
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 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;
 }
Example #4
0
 /**
  * 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;
 }
Example #5
0
 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();
 }
Example #6
0
File: Mail.php Project: vakata/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;
 }
Example #7
0
 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;
 }
Example #8
0
 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;
 }