agentic email invite html

This commit is contained in:
debu-2 2026-10-04 21:02:19 +05:30
parent 42cd937f0a
commit 65bb73f30b
6 changed files with 273 additions and 32 deletions

View file

@ -5,8 +5,9 @@ from __future__ import annotations
from sqlalchemy.ext.asyncio import AsyncSession
from app.config import get_settings
from app.models import Account, MailDomain
from app.models import Account
from app.services.domain_provisioning import get_domain_by_name
from app.services.email_templates import BRAND_NAME, build_employee_invitation_email
from app.services.mail_sender import deliver_email
@ -30,42 +31,26 @@ async def send_employee_invitation(
manager_name = f"{manager.first_name} {manager.last_name}".strip()
company = member.company_domain or settings.platform_domain
change_note = (
"You will be asked to choose a new password immediately after signing in."
if force_password_change
else "You can change your password later from account settings."
subject, body_text, body_html = build_employee_invitation_email(
member_first_name=member.first_name,
member_email=member.email,
manager_name=manager_name,
manager_email=manager.email,
company_domain=company,
login_url=login_url,
initial_password=initial_password,
force_password_change=force_password_change,
)
body_text = (
f"Hi {member.first_name},\n\n"
f"{manager_name} invited you to AGMail for {company}.\n\n"
f"Sign in at: {login_url}\n"
f"Work email: {member.email}\n"
f"Temporary password: {initial_password}\n\n"
f"{change_note}\n\n"
"— AGMail"
)
body_html = (
f"<p>Hi {member.first_name},</p>"
f"<p><strong>{manager_name}</strong> invited you to AGMail for "
f"<strong>{company}</strong>.</p>"
f"<p><a href=\"{login_url}\">Sign in to AGMail</a></p>"
f"<ul>"
f"<li><strong>Work email:</strong> {member.email}</li>"
f"<li><strong>Temporary password:</strong> {initial_password}</li>"
f"</ul>"
f"<p>{change_note}</p>"
f"<p>— AGMail</p>"
)
sender = f"AGMail <noreply@{settings.platform_domain}>"
sender = f"{BRAND_NAME} <noreply@{settings.platform_domain}>"
await deliver_email(
sender=sender,
recipients=[member.invitation_email],
cc=[],
bcc=[],
subject=f"You're invited to {company} on AGMail",
subject=subject,
body_text=body_text,
body_html=body_html,
domain=platform_domain,
reply_to=manager.email,
)