public function testUserGetterAndSetter() { $origin = new UserEmailOrigin(); $this->assertNull($origin->getUser()); $origin->setUser('test'); $this->assertEquals('test', $origin->getUser()); }
/** * Set SmtpTransport instance or create a new if default mailer transport is not smtp * * @param UserEmailOrigin $userEmailOrigin */ public function prepareSmtpTransport($userEmailOrigin) { if (!$this->smtpTransport) { $username = $userEmailOrigin->getUser(); /** @var Mcrypt $encoder */ $encoder = $this->container->get('oro_security.encoder.mcrypt'); $password = $encoder->decryptData($userEmailOrigin->getPassword()); $host = $userEmailOrigin->getSmtpHost(); $port = $userEmailOrigin->getSmtpPort(); $security = $userEmailOrigin->getSmtpEncryption(); $accessToken = $this->imapEmailGoogleOauth2Manager->getAccessTokenWithCheckingExpiration($userEmailOrigin); $transport = $this->getTransport(); if ($transport instanceof \Swift_SmtpTransport || $transport instanceof \Swift_Transport_EsmtpTransport) { $transport->setHost($host); $transport->setPort($port); $transport->setEncryption($security); } else { $transport = \Swift_SmtpTransport::newInstance($host, $port, $security); } $transport->setUsername($username); if ($accessToken === null) { $transport->setPassword($password); } else { $transport->setAuthMode('XOAUTH2'); $transport->setPassword($accessToken); } $this->smtpTransport = $transport; } }
/** * Set SmtpTransport instance or create a new if default mailer transport is not smtp * * @param UserEmailOrigin $userEmailOrigin */ public function prepareSmtpTransport($userEmailOrigin) { if (!$this->smtpTransport) { $username = $userEmailOrigin->getUser(); /** @var Mcrypt $encoder */ $encoder = $this->container->get('oro_security.encoder.mcrypt'); $password = $encoder->decryptData($userEmailOrigin->getPassword()); $host = $userEmailOrigin->getSmtpHost(); $port = $userEmailOrigin->getSmtpPort(); $security = $userEmailOrigin->getSmtpEncryption(); $transport = $this->getTransport(); if ($transport instanceof \Swift_SmtpTransport || $transport instanceof \Swift_Transport_EsmtpTransport) { $transport->setHost($host); $transport->setPort($port); $transport->setEncryption($security); } else { $transport = \Swift_SmtpTransport::newInstance($host, $port, $security); } $transport->setUsername($username); $transport->setPassword($password); $this->smtpTransport = $transport; } }
/** * @param UserEmailOrigin|null $origin * * @return $this */ public function setOrigin($origin = null) { $currentOrigin = $this->getOrigin(); if ($currentOrigin && ($origin === null || $origin->getUser() === null || $currentOrigin->getId() !== $origin->getId())) { $currentOrigin->setActive(false); $this->origin = null; } if ($origin !== null && $origin->getUser() !== null) { $this->origin = $origin; } return $this; }
/** * Creates a processor is used to synchronize emails * * @param UserEmailOrigin $origin * @return ImapEmailSynchronizationProcessor */ protected function createSynchronizationProcessor($origin) { $config = new ImapConfig($origin->getImapHost(), $origin->getImapPort(), $origin->getImapEncryption(), $origin->getUser(), $this->encryptor->decryptData($origin->getPassword()), $this->imapEmailGoogleOauth2Manager->getAccessTokenWithCheckingExpiration($origin)); return $this->syncProcessorFactory->create(new ImapEmailManager($this->connectorFactory->createImapConnector($config)), $this->getKnownEmailAddressChecker()); }
/** * Modify transport smtp settings * * @param UserEmailOrigin $userEmailOrigin */ protected function modifySmtpSettings(UserEmailOrigin $userEmailOrigin) { $transport = $this->mailer->getTransport(); if ($transport instanceof \Swift_Transport_EsmtpTransport) { $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()); } } }
/** * Set IMAP configuration * * @param UserEmailOrigin $imapConfiguration * * @return User */ public function setImapConfiguration($imapConfiguration = null) { $currentImapConfiguration = $this->getImapConfiguration(); if ($currentImapConfiguration && (null === $imapConfiguration || $currentImapConfiguration->getId() !== $imapConfiguration->getId())) { // deactivate current IMAP configuration and remove a reference to it $currentImapConfiguration->setActive(false); $this->removeEmailOrigin($currentImapConfiguration); } if (null !== $imapConfiguration && null !== $imapConfiguration->getUser()) { $this->addEmailOrigin($imapConfiguration); } return $this; }
/** * @param UserEmailOrigin $origin * * @return ImapEmailFolderManager */ protected function createManager(UserEmailOrigin $origin) { $config = new ImapConfig($origin->getImapHost(), $origin->getImapPort(), $origin->getImapEncryption(), $origin->getUser(), $this->mcrypt->decryptData($origin->getPassword()), $this->imapEmailGoogleOauth2Manager->getAccessTokenWithCheckingExpiration($origin)); $connector = $this->connectorFactory->createImapConnector($config); return new ImapEmailFolderManager($connector, $this->doctrine->getManager(), $origin); }
/** * @param UserEmailOrigin $origin * * @return ImapEmailFolderManager */ protected function createManager(UserEmailOrigin $origin) { $config = new ImapConfig($origin->getImapHost(), $origin->getImapPort(), $origin->getImapEncryption(), $origin->getUser(), $this->mcrypt->decryptData($origin->getPassword())); $connector = $this->connectorFactory->createImapConnector($config); return new ImapEmailFolderManager($connector, $this->doctrine->getManager(), $origin); }