mirror of
https://framagit.org/tykayn/date-poll-api
synced 2023-08-25 08:23:11 +02:00
other
This commit is contained in:
parent
bdd0325c82
commit
e235986483
2
.env
2
.env
@ -44,5 +44,5 @@ SUPPORT_EMAIL=admin_framadate@yopmail.com
|
|||||||
###< symfony/swiftmailer-bundle ###
|
###< symfony/swiftmailer-bundle ###
|
||||||
|
|
||||||
###> symfony/mailer ###
|
###> symfony/mailer ###
|
||||||
# MAILER_DSN=smtp://localhost
|
MAILER_DSN=smtp://localhost
|
||||||
###< symfony/mailer ###
|
###< symfony/mailer ###
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# See https://symfony.com/doc/current/email/dev_environment.html
|
# See https://symfony.com/doc/current/email/dev_environment.html
|
||||||
swiftmailer:
|
swiftmailer:
|
||||||
# send all emails to a specific address
|
# send all emails to a specific address
|
||||||
delivery_addresses: ['contact@cipherbliss.com']
|
# delivery_addresses: ['contact@cipherbliss.com']
|
||||||
|
@ -9,12 +9,10 @@ use App\Entity\Owner;
|
|||||||
use App\Entity\Poll;
|
use App\Entity\Poll;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Exception;
|
use Exception;
|
||||||
use http\Header;
|
|
||||||
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
|
use Symfony\Bridge\Twig\Mime\TemplatedEmail;
|
||||||
use Symfony\Component\Mailer\Mailer;
|
use Symfony\Component\Mailer\Mailer;
|
||||||
use Symfony\Component\Mailer\Transport\Smtp\EsmtpTransport;
|
use Symfony\Component\Mailer\Transport\Smtp\EsmtpTransport;
|
||||||
use Symfony\Component\Mime\Address;
|
use Symfony\Component\Mime\Address;
|
||||||
use Symfony\Component\Mime\Email;
|
|
||||||
|
|
||||||
class MailService {
|
class MailService {
|
||||||
|
|
||||||
@ -26,10 +24,12 @@ class MailService {
|
|||||||
|
|
||||||
private $mailer;
|
private $mailer;
|
||||||
|
|
||||||
|
// public function __construct( EntityManagerInterface $entityManager , Mailer $mailer) {
|
||||||
public function __construct( EntityManagerInterface $entityManager ) {
|
public function __construct( EntityManagerInterface $entityManager ) {
|
||||||
$this->em = $entityManager;
|
$this->em = $entityManager;
|
||||||
$transport = new EsmtpTransport();
|
$transport = new EsmtpTransport();
|
||||||
$this->mailer = new Mailer( $transport );
|
$this->mailer = new Mailer( $transport );
|
||||||
|
// $this->mailer = $mailer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -38,7 +38,7 @@ class MailService {
|
|||||||
*
|
*
|
||||||
* @throws \Symfony\Component\Mailer\Exception\TransportExceptionInterface
|
* @throws \Symfony\Component\Mailer\Exception\TransportExceptionInterface
|
||||||
*/
|
*/
|
||||||
public function sendCreationMailAction( Owner $foundOwner, Poll $poll = null) {
|
public function sendCreationMailAction( Owner $foundOwner, Poll $poll = null ) {
|
||||||
|
|
||||||
// anti spam , limit to every minute TODO
|
// anti spam , limit to every minute TODO
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ class MailService {
|
|||||||
'owner' => $foundOwner,
|
'owner' => $foundOwner,
|
||||||
'from' => 'ne-pas-repondre@framadate-api.cipherbliss.com',
|
'from' => 'ne-pas-repondre@framadate-api.cipherbliss.com',
|
||||||
'poll' => $poll,
|
'poll' => $poll,
|
||||||
'title' => 'Création de sondage - ' . ($poll? $poll->getTitle() : $poll),
|
'title' => 'Création de sondage - ' . ( $poll ? $poll->getTitle() : $poll ),
|
||||||
'email_template' => 'emails/creation-mail.html.twig',
|
'email_template' => 'emails/creation-mail.html.twig',
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -92,6 +92,7 @@ class MailService {
|
|||||||
'email_template' => 'emails/owner-list.html.twig',
|
'email_template' => 'emails/owner-list.html.twig',
|
||||||
];
|
];
|
||||||
$this->sendMailWithVars( $config );
|
$this->sendMailWithVars( $config );
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,9 +100,9 @@ class MailService {
|
|||||||
public function sendCommentNotification( Comment $comment ) {
|
public function sendCommentNotification( Comment $comment ) {
|
||||||
|
|
||||||
$config = [
|
$config = [
|
||||||
'comment' => $comment,
|
'comment' => $comment,
|
||||||
'owner' => $comment->getOwner(),
|
'owner' => $comment->getOwner(),
|
||||||
'title' => 'Framadate | commentaire de '.$comment->getOwner()->getPseudo(). ' _ sondage '. $comment->getPoll()->getTitle(),
|
'title' => 'Framadate | commentaire de ' . $comment->getOwner()->getPseudo() . ' _ sondage ' . $comment->getPoll()->getTitle(),
|
||||||
'email_template' => 'emails/comment-notification.html.twig',
|
'email_template' => 'emails/comment-notification.html.twig',
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -117,49 +118,58 @@ class MailService {
|
|||||||
*/
|
*/
|
||||||
public function sendMailWithVars( $config ) {
|
public function sendMailWithVars( $config ) {
|
||||||
|
|
||||||
if(!$config['poll']){
|
if ( ! $config[ 'poll' ] ) {
|
||||||
$config['poll'] = new Poll();
|
$config[ 'poll' ] = new Poll();
|
||||||
}
|
}
|
||||||
$emailChoicesTemplates = [
|
$emailChoicesTemplates = [
|
||||||
'creation_poll' => 'creation-mail.html.twig',
|
'creation_poll' => 'creation-mail.html.twig',
|
||||||
'edit_poll' => 'modification-notification-mail.html.twig',
|
'edit_poll' => 'modification-notification-mail.html.twig',
|
||||||
'creation_poll_admin' => 'author-mail.html.twig',
|
'creation_poll_admin' => 'author-mail.html.twig',
|
||||||
'owner_list' => 'owner-list.html.twig',
|
'owner_list' => 'owner-list.html.twig',
|
||||||
'expiration' => 'expiration-mail.html.twig',
|
'expiration' => 'expiration-mail.html.twig',
|
||||||
'creation_comment' => 'comment-notification.html.twig',
|
'creation_comment' => 'comment-notification.html.twig',
|
||||||
'creation_vote' => 'vote-notification.html.twig',
|
'creation_vote' => 'vote-notification.html.twig',
|
||||||
];
|
];
|
||||||
$emailChoicesTitles = [
|
$emailChoicesTitles = [
|
||||||
'creation_poll' => 'Framadate | Création de sondage - lien public - ' . $config['poll']->getTitle(),
|
'creation_poll' => 'Framadate | Création de sondage - lien public - ' . $config[ 'poll' ]->getTitle(),
|
||||||
'edit_poll' => 'Framadate | Modification de sondage - ' . $config['poll']->getTitle(),
|
'edit_poll' => 'Framadate | Modification de sondage - ' . $config[ 'poll' ]->getTitle(),
|
||||||
'creation_poll_admin' => 'Framadate | Création de sondage - lien admin - ',
|
'creation_poll_admin' => 'Framadate | Création de sondage - lien admin - ',
|
||||||
'owner_list' => 'Framadate | Vos sondages créés',
|
'owner_list' => 'Framadate | Vos sondages créés',
|
||||||
'expiration' => 'Framadate | Notice d\'expiration du sondage '. $config['poll']->getTitle(),
|
'expiration' => 'Framadate | Notice d\'expiration du sondage ' . $config[ 'poll' ]->getTitle(),
|
||||||
'creation_comment' => 'Framadate | Commentaire de "' . $config['owner']->getPseudo() . '" - sondage ' . $config['poll']->getTitle(),
|
'creation_comment' => 'Framadate | Commentaire de "' . $config[ 'owner' ]->getPseudo() . '" - sondage ' . $config[ 'poll' ]->getTitle(),
|
||||||
'creation_vote' => 'Framadate | Vote de "' . $config['owner']->getPseudo() . '" - sondage ' . $config['poll']->getTitle(),
|
'creation_vote' => 'Framadate | Vote de "' . $config[ 'owner' ]->getPseudo() . '" - sondage ' . $config[ 'poll' ]->getTitle(),
|
||||||
];
|
];
|
||||||
|
|
||||||
// $email = ( new Email() )
|
$email = ( new TemplatedEmail() )
|
||||||
// ->from( new Address( $config[ 'from' ] ) )
|
->from( new Address( $config[ 'from' ] ) )
|
||||||
|
// ->setHeaders( [new Header('charset', 'UTF-8' )])
|
||||||
|
->subject( $config[ 'title' ] )
|
||||||
|
->to( $config[ 'owner' ]->getEmail() )
|
||||||
|
->htmlTemplate( $config[ 'email_template' ] )
|
||||||
|
->context( $config );
|
||||||
|
|
||||||
|
|
||||||
|
// $email = ( new \Swift_Mime_SimpleMessage($config[ 'from' ]) )
|
||||||
|
// ->setFrom( new Address( $config[ 'from' ] ) )
|
||||||
//// ->setHeaders( [new Header('charset', 'UTF-8' )])
|
//// ->setHeaders( [new Header('charset', 'UTF-8' )])
|
||||||
// ->subject( $config[ 'title' ] )
|
// ->setSubject( $config[ 'title' ] )
|
||||||
// ->to( $config[ 'owner' ]->getEmail() )
|
// ->setTo( $config[ 'owner' ]->getEmail() )
|
||||||
// ->htmlTemplate( $config[ 'email_template' ] )
|
// ->setBody("ble blah bleuh <strong> strong text </strong> swift mailer","text/html");
|
||||||
// ->context( $config );
|
|
||||||
$email = (new TemplatedEmail())
|
|
||||||
->from('fabien@example.com')
|
|
||||||
->to(new Address('ryan@example.com'))
|
|
||||||
->subject('Thanks for signing up!')
|
|
||||||
|
|
||||||
// path of the Twig template to render
|
// $email = (new TemplatedEmail())
|
||||||
->htmlTemplate('emails/footer.html.twig')
|
// ->from('fabien@example.com')
|
||||||
|
// ->to(new Address('ryan@example.com'))
|
||||||
// pass variables (name => value) to the template
|
// ->subject('Thanks for signing up!')
|
||||||
->context([
|
//
|
||||||
'expiration_date' => new \DateTime('+7 days'),
|
// // path of the Twig template to render
|
||||||
'username' => 'foo',
|
// ->htmlTemplate('emails/footer.html.twig')
|
||||||
])
|
//
|
||||||
;
|
// // pass variables (name => value) to the template
|
||||||
|
// ->context([
|
||||||
|
// 'expiration_date' => new \DateTime('+7 days'),
|
||||||
|
// 'username' => 'foo',
|
||||||
|
// ])
|
||||||
|
// ;
|
||||||
|
|
||||||
// send email
|
// send email
|
||||||
return $this->
|
return $this->
|
||||||
|
Loading…
Reference in New Issue
Block a user