summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/mail_mail.py
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/mail_mail.py')
-rw-r--r--indoteknik_custom/models/mail_mail.py19
1 files changed, 17 insertions, 2 deletions
diff --git a/indoteknik_custom/models/mail_mail.py b/indoteknik_custom/models/mail_mail.py
index 82b1fcca..792b97b7 100644
--- a/indoteknik_custom/models/mail_mail.py
+++ b/indoteknik_custom/models/mail_mail.py
@@ -1,12 +1,27 @@
from odoo import fields, models, api, _
+from datetime import timedelta
+import logging
+_logger = logging.getLogger(__name__)
class MailMail(models.Model):
_inherit = 'mail.mail'
+ @api.model
def retry_send_mail(self):
- mails = self.env['mail.mail'].search([
- ('state', 'in', ['exception', 'cancel']),
+ now = fields.Datetime.now()
+ seven_days_ago = now - timedelta(days=7)
+
+ # Filter hanya email gagal dalam 7 hari terakhir
+ mails = self.search([
+ ('state', 'in', ['exception']),
+ ('create_date', '>=', seven_days_ago),
+ ('create_date', '<=', now),
], limit=250)
+
+ _logger.info("Found %s failed emails in last 7 days to retry.", len(mails))
+
for mail in mails:
+ _logger.info("Retrying email ID %s - To: %s - Subject: %s",
+ mail.id, mail.email_to, mail.subject)
mail.state = 'outgoing'