Пример #1
0
 /**
  * @param \DotBlue\Mandrill\Message $message
  * @param \Nette\Mail\Message $originalMessage
  */
 private function setRecipients(\DotBlue\Mandrill\Message $message, \Nette\Mail\Message $originalMessage)
 {
     $to = $originalMessage->getHeader('To') ?: [];
     foreach ($to as $email => $name) {
         $message->addTo($email, $name);
     }
     $cc = $originalMessage->getHeader('Cc') ?: [];
     foreach ($cc as $email => $name) {
         $message->addCc($email, $name);
     }
     $bcc = $originalMessage->getHeader('Bcc') ?: [];
     foreach ($bcc as $email => $name) {
         $message->addBcc($email, $name);
     }
     $originalMessage->clearHeader('To');
     $originalMessage->clearHeader('Cc');
     $originalMessage->clearHeader('Bcc');
 }
Пример #2
0
 /**
  * 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();
 }
Пример #3
0
__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
Пример #4
0
 /**
  * Sends email.
  * @param Message $mail
  * @return void
  */
 public function send(Message $mail)
 {
     $postData = ['from' => $mail->getHeader('Return-Path') ?: key($mail->getHeader('From')), 'to' => $this->getCommaSeparatedEmails((array) $mail->getHeader('To')), 'cc' => $this->getCommaSeparatedEmails((array) $mail->getHeader('Cc')), 'bcc' => $this->getCommaSeparatedEmails((array) $mail->getHeader('Bcc')), 'subject' => $mail->getSubject(), 'text' => $mail->getBody(), 'html' => $mail->getHtmlBody()];
     $this->mailgun->sendMessage($this->domain, array_filter($postData));
 }
Пример #5
0
 /**
  * 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();
 }