generated from flo/template-backend
mail changes
This commit is contained in:
parent
ed03bb79d6
commit
71b8a29527
@ -26,6 +26,7 @@ final class Version20240911191301 extends AbstractMigration
|
|||||||
recipient varchar(255) NOT NULL,
|
recipient varchar(255) NOT NULL,
|
||||||
sender varchar(255) NULL,
|
sender varchar(255) NULL,
|
||||||
sender_name varchar(255) NULL,
|
sender_name varchar(255) NULL,
|
||||||
|
failed_at datetime NULL,
|
||||||
created_at datetime NOT NULL,
|
created_at datetime NOT NULL,
|
||||||
PRIMARY KEY (id)
|
PRIMARY KEY (id)
|
||||||
);";
|
);";
|
||||||
|
|||||||
@ -33,6 +33,9 @@ class Mail {
|
|||||||
/** @ORM\Column(name="sender_name", type="string", nullable="true") */
|
/** @ORM\Column(name="sender_name", type="string", nullable="true") */
|
||||||
private ?string $senderName;
|
private ?string $senderName;
|
||||||
|
|
||||||
|
/** @ORM\Column(name="failed_at", type="datetime", nullable="true") */
|
||||||
|
private ?DateTime $failedAt;
|
||||||
|
|
||||||
/** @ORM\Column(name="created_at", type="datetime") */
|
/** @ORM\Column(name="created_at", type="datetime") */
|
||||||
private DateTime $createdAt;
|
private DateTime $createdAt;
|
||||||
|
|
||||||
@ -41,6 +44,7 @@ class Mail {
|
|||||||
|
|
||||||
$now = new DateTime();
|
$now = new DateTime();
|
||||||
$this->setCreatedAt($now);
|
$this->setCreatedAt($now);
|
||||||
|
$this->setFailedAt(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -103,6 +107,15 @@ class Mail {
|
|||||||
$this->senderName = $senderName;
|
$this->senderName = $senderName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getFailedAt(): ?DateTime
|
||||||
|
{
|
||||||
|
return $this->failedAt;
|
||||||
|
}
|
||||||
|
public function setFailedAt(?DateTime $failedAt): void
|
||||||
|
{
|
||||||
|
$this->failedAt = $failedAt;
|
||||||
|
}
|
||||||
|
|
||||||
public function getCreatedAt(): DateTime {
|
public function getCreatedAt(): DateTime {
|
||||||
return $this->createdAt;
|
return $this->createdAt;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,6 +7,7 @@ namespace Bee\Infrastructure\Mail\Service;
|
|||||||
use Bee\Data\Business\Entity\Mail;
|
use Bee\Data\Business\Entity\Mail;
|
||||||
use Bee\Data\Business\Manager\EntityManager;
|
use Bee\Data\Business\Manager\EntityManager;
|
||||||
use Bee\Data\Business\Repository\MailRepository;
|
use Bee\Data\Business\Repository\MailRepository;
|
||||||
|
use DateTime;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Latte\Engine;
|
use Latte\Engine;
|
||||||
use Nette\Mail\Mailer;
|
use Nette\Mail\Mailer;
|
||||||
@ -76,6 +77,8 @@ class MailService
|
|||||||
$this->entityManager->remove($mailToSend);
|
$this->entityManager->remove($mailToSend);
|
||||||
} catch (SendMailFailedException $e) {
|
} catch (SendMailFailedException $e) {
|
||||||
// log is done withing sendMail
|
// log is done withing sendMail
|
||||||
|
$mailToSend->setFailedAt(new DateTime());
|
||||||
|
$this->entityManager->persist($mailToSend);
|
||||||
}
|
}
|
||||||
$this->entityManager->flush();
|
$this->entityManager->flush();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user