function emailsSend($recipients) { $app = new \Slim\Slim(); $app->db = function () { return new Capsule(); }; try { foreach ($recipients as $recipient) { $body = '<div style="display:none; white-space:nowrap; font:15px courier; line-height:0;"> </div> <table width="100%" align="center" bgcolor="#ffffff" cellpadding="0" cellspacing="0" border="0"> <tr> <td align="center" valign="top" style="margin: 0; padding: 0;"> <table width="600" align="center" bgcolor="#ffffff" border="0" cellspacing="0" cellpadding="0" style="font-family:Arial, Helvetica, sans-serif;"> <tr> <td align="center" valign="top" style="margin: 0; padding: 0;"> <img style="display: block;" src="http://prp.dev.plej.pl/mailing/mailing_header_top.gif" alt="" width="600" height="240"> </td> </tr> <tr> <td style="text-align: center;"> <h1 style="font-weight: bold; font-size: 26px; color: #D1AC50; line-height: 38px;">' . $recipient['fullName'] . '</h1> <p style="font-size: 20px; color: #162C53; line-height: 28px;">Wysłaliśmy, specjalnie dla Ciebie zrobioną<br> Kartkę Świąteczną<br> Kliknij poniżej aby ją zobaczyć</p> </td> </tr> <tr> <td align="center" width="271" style="padding: 15px 0; height: 50px;"> <a href="/' . $recipient['token'] . '" style="width: 271px; display: block; height: 50px;"><img style="display: block;" align="center" src="http://prp.dev.plej.pl/mailing/open-pl.jpg" alt="" width="271" height="50"></a> </td> </tr> <tr> <td align="center" valign="top" style="margin: 0; padding: 0;"> <img style="display: block;" src="http://prp.dev.plej.pl/mailing/mailing_header_bottom.gif" alt="" width="600" height="210"> </td> </tr> </table> </td> </tr> </table>'; $mail = new PHPMailer(); $mail->isSMTP(); $mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = '******'; // SMTP username $mail->Password = '******'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted $mail->Port = 587; // TCP port to connect to $mail->CharSet = 'UTF-8'; $mail->setFrom('*****@*****.**', 'Mailer'); $mail->addReplyTo('*****@*****.**', 'Information'); $mail->isHTML(true); $mail->Subject = 'Hej, ' . $recipient['fullName'] . ' mamy życzenia dla Ciebie'; $mail->Body = $body; //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; $mail->addAddress($recipient['email'], $recipient['fullName']); if (!$mail->send()) { return false; } else { $app->db->table('recipients')->where('token', $recipient['token'])->update(array('sendEmail' => 1, 'sendDate' => date("Y-m-d H:i:s"))); } } } catch (\Exception $e) { throw new Exception("Nie udało się wysłać wiadomości :( " . $mail->ErrorInfo); } return true; }
public function addReplyTo($address, $name = '') { $this->ClearReplyTos(); return parent::addReplyTo($address, $name); }
public function indexAction() { $services = $this->getServiceLocator(); $config = $services->get('config'); $translator = $services->get('translator'); $namespaces = $this->getFlashMessengerNamespaces(); $user = $this->getAuthInfo(); $formFactory = new FormFactory(); $formConfig = $config['feedback']['message_form']; if ($user) { unset($formConfig['elements']['captcha']); } $form = $formFactory->createForm($formConfig); if ($this->getRequest()->isPost()) { $form->setData($this->params()->fromPost()); if ($form->isValid()) { $data = $form->getData(); $mail = new PHPMailer(); $mail->setFrom($config['feedback']['support_address']); $mail->addReplyTo($data['email'], $data['name']); $mail->addAddress($config['feedback']['support_address']); $subject = $translator->translate($config['feedback']['message_subject']); $mail->Subject = str_replace('%name%', $data['name'], $subject); $mail->Body = $data['message']; $mail->send(); $this->flashMessenger()->addSuccessMessage($translator->translate('Message was successfully sent. Thanks for feedback')); return $this->redirect()->refresh(); } else { $this->flashMessenger()->addMessage($translator->translate('Form has errors. Check it'), $namespaces['error']); } } else { if ($user) { $form->get('name')->setValue($user->getDisplayName()); $form->get('email')->setValue($user->getEmail()); } } return array('form' => $form, 'title' => $config['feedback']['title'], 'description' => $config['feedback']['description'], 'display_flash_messages' => $config['feedback']['display_flash_messages']); }