Skip to content
Snippets Groups Projects
Commit 2e6e9dd0 authored by Thibaut Vallee's avatar Thibaut Vallee
Browse files

envoie du mail de test

parent 776bad49
Branches
Tags
No related merge requests found
Pipeline #11350 passed
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
namespace UnicaenMail\Controller; namespace UnicaenMail\Controller;
use UnicaenMail\Service\Mail\MailServiceAwareTrait; use UnicaenMail\Service\Mail\MailServiceAwareTrait;
use UnicaenUtilisateur\Entity\Db\User;
use Zend\Mvc\Controller\AbstractActionController; use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel; use Zend\View\Model\ViewModel;
...@@ -30,7 +31,15 @@ class MailController extends AbstractActionController { ...@@ -30,7 +31,15 @@ class MailController extends AbstractActionController {
public function testAction() public function testAction()
{ {
return $this->redirect()->toRoute('mail', [], [], true); $request = $this->getRequest();
if ($request->isPost()) {
$data = $request->getPost();
if(!isset($data['mail-to']) || !filter_var($data['mail-to'], FILTER_VALIDATE_EMAIL)) {
return ['title' => "Envoyer un mail de test", 'error' => "L'adresse mail saisie n'est pas valide."];
}
$this->getMailService()->sendMail($data['mail-to'], 'Mail de test', 'Ceci est un mail de test. <br/> <hr/>Merci de ne pas en tenir compte.');
}
return ['title' => "Envoyer un mail de test"];
} }
public function reenvoiAction() public function reenvoiAction()
......
...@@ -176,7 +176,9 @@ class Mail { ...@@ -176,7 +176,9 @@ class Mail {
*/ */
public function setMotsClefs(array $motsClefs) : Mail public function setMotsClefs(array $motsClefs) : Mail
{ {
$this->motsClefs = implode(Mail::MOTCLEF_SEPARATEUR, $motsClefs); //Permet de s'assurer que les mots clefs ne sont pas vide
$text = implode(Mail::MOTCLEF_SEPARATEUR, $motsClefs);
$this->motsClefs = ($text && $text != '') ? $text : null;
return $this; return $this;
} }
......
...@@ -192,28 +192,22 @@ class MailService { ...@@ -192,28 +192,22 @@ class MailService {
$mail->setSujet($subject); $mail->setSujet($subject);
$sujet = '['.$this->subjectPrefix.'] ' . $subject; $sujet = '['.$this->subjectPrefix.'] ' . $subject;
if ($this->doNotSend) { if ($this->doNotSend) {
$sujet .= ' {REDIR}'; $sujet .= ' {REDIR}';
} }
$message->setTo( (!is_array($mail->getDestinataires())) ? [ $mail->getDestinataires()] : $mail->getDestinataires()); $message->setTo( (!is_array($mail->getDestinataires())) ? [ $mail->getDestinataires()] : $mail->getDestinataires());
$message->setSubject($sujet); $message->setSubject($sujet);
$texte = "<p><i>Ce courrier électronique vous a été adressé <strong>automatiquement</strong> par l'application ".$this->subjectPrefix.". </i></p>" . $texte; $texte = "<p><i>Ce courrier électronique vous a été adressé <strong>automatiquement</strong> par l'application ".$this->subjectPrefix.". </i></p>" . $texte;
$mail->setCorps($texte); $mail->setCorps($texte);
$this->create($mail); $this->create($mail);
if ($this->doNotSend) { if ($this->doNotSend) {
$texte .= "<br/><br/><hr/><br/>"; $texte .= "<br/><br/><hr/><br/>";
$texte .= "Initialement envoyé à :"; $texte .= "Initialement envoyé à :";
$texte .= "<ul>"; $texte .= "<ul>";
foreach ($to as $t) $texte .= "<li>" . $t . "</li>"; foreach ($to as $t) $texte .= "<li>" . $t . "</li>";
$texte .= "</ul>"; $texte .= "</ul>";
} }
$parts = []; $parts = [];
...@@ -233,7 +227,6 @@ class MailService { ...@@ -233,7 +227,6 @@ class MailService {
$attachement->setDisposition(Mime::DISPOSITION_ATTACHMENT); $attachement->setDisposition(Mime::DISPOSITION_ATTACHMENT);
$parts[] = $attachement; $parts[] = $attachement;
} }
$body = new MimeMessage(); $body = new MimeMessage();
$body->setParts($parts); $body->setParts($parts);
$message->setBody($body); $message->setBody($body);
......
<?php
/**
* @see \UnicaenMail\Controller\MailController::testAction()
*/
use UnicaenMail\Entity\Db\Mail;
use UnicaenMail\Provider\Privilege\MailPrivileges;
use UnicaenApp\View\Helper\Messenger;
$this->headTitle($title);
?>
<?php if(isset($error)) : ?>
<div class="messenger alert alert-danger "> <?= $error ?></div>
<?php endif; ?>
<form action="mail/test" method="post">
<div>
<label for="email">Destinataire : </label>
<input type="email" name="mail-to" size="50" required>
</div>
<div>
<button type="submit" name="send-mail-test" class="btn btn-primary"
value="1">
<span class='icon mail'>Envoyer</span>
</button>
</div>
</form>
<script>
$(function() {
$("body").one("mail-test", function (event) {
event.div.modal('hide');
window.location.reload();
});
});
</script>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment