是否可以使用自定義send_mail()
來替換跨整個項目(包括INSTALLED_APPS中的第三方項目)django.core.mail.send_mail()
的呼叫?跨所有應用程序替換django.core.mail.send_mail()?
我正在將django-mailer與我的項目集成在一起,該項目爲django.core.mail.send_mail()
提供替換send_mail()
。由於都使用相同的函數簽名的文檔建議在進口地的Django的郵件版本在那裏你通常導入的Django提供的版本,像這樣:
# favour django-mailer but fall back to django.core.mail
from django.conf import settings
if "mailer" in settings.INSTALLED_APPS:
from mailer import send_mail
else:
from django.core.mail import send_mail
這適用於自己的應用程序代碼,但我d還希望在使用django.core.mail.send_mail()
的第三方應用程序中進行相同的更改。現在,當這些應用程序嘗試發送電子郵件時,我遇到了錯誤。
Django是否提供任何鉤子來取代django.core.mail.send_mail()
,或者是否有解決方法?現在我正在尋找每個發送電子郵件並在上面添加條件導入代碼的第三方項目,但顯然這並不理想。