Пример #1
0
 /**
  * Creates a form to delete a Mailspool entity.
  *
  * @param Mailspool $mailspool The Mailspool entity
  *
  * @return \Symfony\Component\Form\Form The form
  */
 private function createDeleteForm(Mailspool $mailspool)
 {
     return $this->createFormBuilder()->setAction($this->generateUrl('mailspool_delete', array('id' => $mailspool->getId())))->setMethod('DELETE')->getForm();
 }
 /**
  * Mailclient
  *
  * @Security("has_role('ROLE_MAILCLIENT_CREATE')")
  *
  * @param Request $request
  * @return Response
  */
 public function sendmailAction(Request $request)
 {
     $fieldfrom = $request->get('fieldfrom', 0);
     $mailaccount = $this->getUserMailaccountForId($fieldfrom);
     if (!$mailaccount) {
         return $this->throwJsonError('Mailaccount not found');
     }
     //$mailer = $this->getMailerForMailaccount($mailaccount);
     $message = $this->generateMailForRequest($request);
     if (get_class($message) == 'Symfony\\Component\\HttpFoundation\\Response') {
         //on Error:
         return $message;
     }
     /*$resp=$this->sendmail($mailer,$message);
       if ($resp!==true && get_class($resp)=='Symfony\Component\HttpFoundation\Response'){ //on Error:
           return $resp;
       }*/
     $spool = new Mailspool();
     $spool->mapMessage($message, $this->get('security.token_storage')->getToken()->getUser(), $mailaccount);
     $sendafter = $request->get('fieldsendafter');
     if (is_numeric($sendafter)) {
         $sendafter = new \DateTime();
         $sendafter->add(new \DateInterval('PT' . $request->get('fieldsendafter') . 'M'));
     } else {
         $sendafter = new \DateTime($sendafter);
     }
     $spool->setSendafter($sendafter);
     $em = $this->getDoctrine()->getManager();
     $em->persist($spool);
     $em->flush();
     //move into sent folder:
     $msg = $message->toString();
     //  (this creates the full MIME message required for imap_append()!!
     //  After this you can call imap_append like this:
     $folder = ltrim($mailaccount->getSentfolder(), '.');
     $mailbox = $this->getImapMailbox($mailaccount, $folder);
     $mailbox->addMail($msg, true);
     return $this->getJsonResponse(array('status' => 'OK'));
 }