didi-website-erp-crm/erp_crm/didi_custom/didi_custom/setup_email.py

46 lines
1.4 KiB
Python

"""
Outgoing email pentru DiDi — cont SMTP implicit (Mailpit in test, SendGrid in
productie: schimbi smtp_server/port/credentiale, restul ramane).
Rulare:
docker exec didi-erpnext bench --site didi-erp execute didi_custom.setup_email.execute
Test trimitere:
docker exec didi-erpnext bench --site didi-erp execute didi_custom.setup_email.send_test
"""
import frappe
ACCOUNT_NAME = "DiDi Outgoing"
def execute():
if frappe.db.exists("Email Account", ACCOUNT_NAME):
acc = frappe.get_doc("Email Account", ACCOUNT_NAME)
else:
acc = frappe.new_doc("Email Account")
acc.email_account_name = ACCOUNT_NAME
acc.update({
"email_id": "noreply@didi.clossers.com",
"enable_outgoing": 1,
"default_outgoing": 1,
"smtp_server": frappe.conf.get("didi_smtp_server") or "didi-mailpit",
"smtp_port": int(frappe.conf.get("didi_smtp_port") or 1025),
"use_tls": 0,
"use_ssl": 0,
"no_smtp_authentication": 1,
"enable_incoming": 0,
})
acc.flags.ignore_permissions = True
acc.save()
frappe.db.commit()
print(f"OK: Email Account '{acc.name}' -> {acc.smtp_server}:{acc.smtp_port} (default outgoing)")
def send_test():
frappe.sendmail(
recipients=["test@didi.local"],
subject="Test SMTP DiDi",
message="<p>Email de proba prin Mailpit.</p>",
delayed=False,
)
frappe.db.commit()
print("OK: email de test trimis")