Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour tout le monde, dans le code ci-dessous, j'ai essayer d'envoyer un mail pour plusieurs destinataires. Les emails sont récupérés de la base. lorsque j'ai essayé avec le
[lang=php]print_r(echo $row->email . PHP_EOL)
, tout les emails sont affichés sur mon écran mais lorsque j'ai integré cette solution dans une boucle pour un envoi multiple, ça cause toujours un problème.
Voilà mon code dans l'index controller:
[lang=php] 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); } } }
et voilà le message d'erreur que j'ai eu.
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
j'ai essayé différents solutions mais je n'ai pas arrivé vers la fin. Merci pour votre aide.
Hors ligne
Hello, déjà évite le double compte ... C'est le même code qu'ici : http://www.z-f.fr/forum/viewtopic.php?id=9336 écrit avec un autre compte ... Et en plus tu dis avoir trouver la solution ici : http://www.z-f.fr/forum/viewtopic.php?pid=43394
De plus, les erreurs que tu nous donnes il n'y a pas la ligne entière ...
Bref merci de régulariser la situation.
Et pour ton problème et bien quand on aura tous les éléments on pourra t'aider.
Hors ligne
Bonsoir, oui j'ai dit que j'ai trouvé la solution pour l'envoi du mail que pour un seul destinataire (dans la requete Select is Where id=idConnected). Mais dans le 2 ème code celui ci je voulais envoyer à plusieurs emails, et là je suis bloquée. Le problème c'est que je peux récupérer tous les emails de la base mais lorsque j'applique message->addTo($mail) sa me boucle une erreur chaque fois.
Hors ligne
Salut salut
ton message d'erreur c'est : il y a des caractères non permis dans ton tableau d'email. vérifi que le tableau est bien formaté et qu'il n'y a pas de caractère bizarre dedans.
Hors ligne