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