public function testIsSmtpConfiguredFailure() { $origin = new UserEmailOrigin(); $origin->setSmtpHost(''); $origin->setSmtpPort(''); $origin->setUser(''); $origin->setPassword(''); $origin->setSmtpEncryption(''); $this->assertFalse($origin->isSmtpConfigured()); }
/** * Modify transport smtp settings * * @param UserEmailOrigin $userEmailOrigin */ protected function modifySmtpSettings(UserEmailOrigin $userEmailOrigin) { $transport = $this->mailer->getTransport(); if ($transport instanceof \Swift_Transport_EsmtpTransport && $userEmailOrigin->isSmtpConfigured()) { $transport->setHost($userEmailOrigin->getSmtpHost()); $transport->setPort($userEmailOrigin->getSmtpPort()); $transport->setUsername($userEmailOrigin->getUser()); $transport->setPassword($this->encryptor->decryptData($userEmailOrigin->getPassword())); if ($userEmailOrigin->getSmtpEncryption()) { $transport->setEncryption($userEmailOrigin->getSmtpEncryption()); } } }
/** * Process send email message. In case exist custom smtp host/port use it * * @param \Swift_Message $message * @param UserEmailOrigin $emailOrigin * @throws \Swift_SwiftException */ public function processSend($message, $emailOrigin) { if ($emailOrigin instanceof UserEmailOrigin) { /* Modify transport smtp settings */ if ($emailOrigin->isSmtpConfigured()) { $this->mailer->prepareSmtpTransport($emailOrigin); } } if (!$this->mailer->send($message)) { throw new \Swift_SwiftException('An email was not delivered.'); } }