user_send_mail.py 1021 B

12345678910111213141516171819202122232425262728293031
  1. import frappe
  2. def custom_send_welcome_mail_to_user(doc, method=None):
  3. # 禁止系统自动发
  4. doc.flags.disable_welcome_email = True
  5. doc.flags.no_welcome_mail = True # 兼容不同版本
  6. # 判断下用户是不是新用户,已激活等等
  7. if not doc.enabled:
  8. return
  9. # 确保reset_password_key已生成
  10. if not doc.reset_password_key:
  11. doc.reset_password_key = frappe.generate_hash(length=32)
  12. doc.save(ignore_permissions=True)
  13. template = "new_user"
  14. full_name = doc.full_name or doc.first_name
  15. link = f"{frappe.conf.site_url}update-password?key={doc.reset_password_key}"
  16. login_url = f"{frappe.conf.site_url}#login"
  17. frappe.sendmail(
  18. recipients=[doc.email],
  19. subject="欢迎加入我们!",
  20. template=template,
  21. args={
  22. "full_name": full_name,
  23. "email": doc.email,
  24. "activate_link": link,
  25. "login_url": login_url,
  26. },
  27. # header=["账户激活", "green"],
  28. )