Send emails to multiple recipients from DB zend 2

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Send emails to multiple recipients from DB zend 2

smay
This post has NOT been accepted by the mailing list yet.
Hello evryone, i wan't to send the same mail to multiple recipients retreived from database, using zend framework 2. With my solution i can only display all emails from database but i can't send mails to them. I do not no what's the problem exactly. This is my action in the indexController:

public function eventdetailsAction() {
    $id = (int) $this->params()->fromRoute('id', 0);
    $this->layout()->setVariable('lang', $this->params()->fromRoute('lang',     'en_US'));
    $this->layout()->setVariable('action', $this->params()->fromRoute('action', 'index'));
    $request = $this->getRequest();
    $aPost = $request->getPost();
    if (isset($aPost['invitUser'])) {

        $user = new Container('user');
        $db = $this->getServiceLocator()->get('db1');

        if (!$user->offsetExists('id')) {
            $idconnected = '0';
        } else {

            $user = new Container('user');
            $db = $this->getServiceLocator()->get('db1');

            if (!$user->offsetExists('id')) {
                $idconnected = '0';
            } else {

                $idconnected = $user->offsetGet('id');
               
                $sql = "SELECT * FROM user";
                $statement = $db->query($sql);
                $res = $statement->execute();

                if ($res instanceof ResultInterface && $res->isQueryResult()) {
                    $resultSet = new ResultSet;
                    $resultSet->initialize($res);

                    $message = new Message();
                    foreach ($resultSet as $row) {
                        echo $row->email . PHP_EOL;
                        $message->addTo($row->email)
                                ->addTo('xxxxx@hotmail.com', 'eee@web.com')
                                ->addFrom('xxxxx@gmail.com')
                                ->setSubject('Invitation for the event : Event Latino');
                    }

                // Setup SMTP transport using LOGIN authentication
                $transport = new SmtpTransport();
                $options = new SmtpOptions(array(
                    'host' => 'smtp.gmail.com',
                    'connection_class' => 'login',
                    'connection_config' => array(
                        'ssl' => 'tls',
                        'username' => 'xxxxx@gmail.com',
                        'password' => 'xxxxxx'
                    ),
                    'port' => 587,
                ));

                $html = new MimePart('Invitation for the event: Latin Night, orgonized by Mr. Jony Cornillon. Date : 06/04/2015');
                $html->type = "text/html";

                $body = new MimeMessage();
                $body->addPart($html);
                //$body->setParts(array($html));

                $message->setBody($body);

                $transport->setOptions($options);
                $transport->send($message);
            }
        }
    }
  }

And this is the error displayed each time:

5.1.2 We weren't able to find the recipient domain. Please check for any
 5.1.2 spelling errors, and make sure you didn't enter any spaces, periods,
 5.1.2 or other punctuation after the recipient's email address. cj9sm2642949wjc.42 - gsmtp

Any help please. Thanks.