Django 使用第三方服務發送電子郵件


  在 Django 網站中使用 mailgun 的郵件收發服務。

1.在 mailgun 官網上注冊個賬號(免費,免費賬號每個月有10000條收發郵件的服務,對我來說已經完全夠用了),注冊完成后界面如圖所示:

 

然后我們點擊 Domain選項,可以看到系統自動為我們生成了一個默認可用域名,點進去查看詳細信息。

注意這個域名只是作為測試用,如果需要用來收發電子郵件,你需要添加新域名或者在該測試域名設置下 Authorized Recipients -> Manage Authorized Recipients 添加收發信任郵箱。

 

2.安裝 anymail 模塊,該模塊支持多個第三方郵件收發服務與 Django 建立連接。

pip install django-anymail

該模塊的詳細用法,參考:https://github.com/anymail/django-anymail

 

3.然后我們在 Django 項目中的 setting.py 文件中添加

INSTALLED_APPS = [ # ...
    "anymail", # ...
] ANYMAIL = {
    "MAILGUN_API_KEY": "your Mailgun key", "MAILGUN_SENDER_DOMAIN": 'mg.example.com',  # your Mailgun domain, if needed
} EMAIL_BACKEND = "anymail.backends.mailgun.EmailBackend"  # or sendgrid.EmailBackend, or...
DEFAULT_FROM_EMAIL = "you@example.com"  # if you don't already have this in settings

 

MAILGUN_API_KEY 和 MAILGUN_SENDER_DOMAID 這兩個參數,可以從郵件域名設置中找到:

 

view.py 文件中添加:

from django.core.mail import send_mail #只需一個send_mail 函數,便能發送郵件
send_mail("It works!", "This will get sent through Mailgun", "Anymail Sender <from@example.com>", ["to@example.com"])

(官網的例子哈,跟我項目有差入就不修改了)

 

4.運行 Django 項目,填入反饋意見,便在我們設置的郵箱中收到發送的郵件。

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM