/** * @param Mail\Message $mail */ public function send(Mail\Message $mail) { $this->autoremove(); list($sec) = explode(' ', substr(microtime(), 2)); $this->lastFile = $this->path . date('Y-m-d_H-i-s-') . $sec . '.eml'; file_put_contents($this->lastFile, $mail->generateMessage()); }
/** * Log mail messages to eml file * @param string $type * @param string $text * @return void */ public function log($type, Nette\Mail\Message $mail) { $timestamp = date('Y-m-d H:i:s'); $type .= '.' . time(); $file = $this->getLogFile($type, $timestamp); if (file_exists($file) && filesize($file)) { $file = str_replace(static::LOG_EXTENSION, '.' . uniqid() . static::LOG_EXTENSION, $file); } file_put_contents($file, $mail->generateMessage()); }
/** * Store mail to file. * @param Message $message * @return int */ public function send(Message $message) { $content = $message->generateMessage(); preg_match('~Message-ID: <(?<message_id>\\w+)[^>]+>~', $content, $matches); $path = $this->tempDir . '/' . $this->prefix . $matches['message_id'] . '.' . self::FILE_EXTENSION; if (($bytes = file_put_contents($path, $content)) === FALSE) { throw new InvalidStateException("Unable to write email to '{$path}'."); } return $bytes; }
/** * Store mails to files. * @param Message $message */ public function send(Message $message) { $this->checkRequirements(); $content = $message->generateMessage(); preg_match('/Message-ID: <(?<message_id>\\w+)[^>]+>/', $content, $matches); $path = $this->tempDir . '/' . $this->prefix . $matches['message_id']; if ($this->extension) { $path .= '.' . $this->extension; } $bytes = file_put_contents($path, $content); if ($bytes) { return $bytes; } else { throw new InvalidStateException("Unable to write email to '{$path}'"); } }
/** * Sends email. * @param Message * @return void */ public function send(Message $mail) { $data = $mail->generateMessage(); $this->connect(); $from = $mail->getHeader('From'); if ($from) { $from = array_keys($from); $this->write("MAIL FROM:<{$from['0']}>", 250); } foreach (array_merge((array) $mail->getHeader('To'), (array) $mail->getHeader('Cc'), (array) $mail->getHeader('Bcc')) as $email => $name) { $this->write("RCPT TO:<{$email}>", array(250, 251)); } $this->write('DATA', 354); $data = preg_replace('#^\\.#m', '..', $data); $this->write($data); $this->write('.', 250); $this->write('QUIT', 221); $this->disconnect(); }
/** * saves email to log file * @param Message $mail * @return string file name */ public function send(Message $mail) { $name = $this->dir . '/' . 'email_' . microtime(TRUE) . '.eml'; file_put_contents($name, $mail->generateMessage()); return $name; }
__construct(array$options=array()){if(isset($options['host'])){$this->host=$options['host'];$this->port=isset($options['port'])?(int)$options['port']:NULL;}else{$this->host=ini_get('SMTP');$this->port=(int)ini_get('smtp_port');}$this->username=isset($options['username'])?$options['username']:'';$this->password=isset($options['password'])?$options['password']:'';$this->secure=isset($options['secure'])?$options['secure']:'';$this->timeout=isset($options['timeout'])?(int)$options['timeout']:20;if(!$this->port){$this->port=$this->secure==='ssl'?465:25;}}function send(Message$mail){$data=$mail->generateMessage();$this->connect();$from=$mail->getHeader('From');if($from){$from=array_keys($from);$this->write("MAIL FROM:<$from[0]>",250);}foreach(array_merge((array)$mail->getHeader('To'),(array)$mail->getHeader('Cc'),(array)$mail->getHeader('Bcc'))as$email=>$name){$this->write("RCPT TO:<$email>",array(250,251));}$this->write('DATA',354);$data=preg_replace('#^\.#m','..',$data);$this->write($data);$this->write('.',250);$this->write('QUIT',221);$this->disconnect();}private
/** * Sends e-mail. * * Implementation of IMailer * @param Message The mail to send (instance of Nette\Message) * @return void * * @throws InvalidStateException if something went wrong */ function send(\Nette\Mail\Message $mail) { $from = $mail->getHeader('From'); //intentionally != $from = $from != NULL && !empty($from) ? array_keys($from) : NULL; if ($from !== NULL) { $this->client->setFrom($from[0]); } $to = $mail->getHeader('To'); $cc = $mail->getHeader('Cc'); $bcc = $mail->getHeader('Bcc'); $mail->setHeader('Bcc', NULL); $recipients = array(); //intentionally != $to != NULL && !empty($to) ? $recipients = array_merge($recipients, array_keys($to)) : NULL; $cc != NULL && !empty($cc) ? $recipients = array_merge($recipients, array_keys($cc)) : NULL; $bcc != NULL && !empty($bcc) ? $recipients = array_merge($recipients, array_keys($bcc)) : NULL; $this->client->setRecipients($recipients); $this->client->setBody($mail->generateMessage()); //throws InvalidStateException $this->client->send(); }