/** * 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')); }