透過 Django 寄送 EMAIL範例教學

首頁 >> 結帳英文 >> 透過 Django 寄送 EMAIL範例教學

之前介紹過 Django 匯入 Excel 檔案進行處理

今天要來介紹:

透過 Django 寄送 EMAIL範例教學

在現代社會的書信往來,

大多已被 EMAIL 取代,

Django 也提供的信件處理相關的服務,

與 Python 相同,

必須 import 需要的模組:





from django.core.mail import EmailMultiAlternatives, get_connection

同時在 settings.py 要加上:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' 
EMAIL_USE_TLS = True
EMAIL_PORT = 587

在程式碼方面,

必須先建立與 Mail Server 的連線:

conn = get_connection()
conn.username = tmp_server.m_user      
# username
conn.password = tmp_server.m_password  
# password
conn.host = tmp_server.m_server        
# mail server
conn.open()

接著設定 Email 的信件內容:

test_from = Emails.objects.get(e_status='default').e_from
test_title = Emails.objects.get(e_status='default').e_title


context = {'insight_url': '........', 'course_id': '........' }
email_template_name = 'insight_dash.html't = loader.get_template(email_template_name)

mail_list = target_mails  # 收件者的郵件 List

subject, from_email, to = test_title, test_from, mail_list
html_content = t.render(dict(context))  # str(test_content)
msg = EmailMultiAlternatives(subject, html_content, from_email, to)
msg.attach_alternative(html_content, "text/html")

conn.send_messages([msg, ])  # 寄送郵件




當然最後要關閉與 Server 間的連線

conn.close()

這封信件是以 HTML 方式寄出,

如果要以純文字寄送的話:





from django.core.mail import send_mail
send_mail('Subject here', 'Here is the message.', 'from@example.com',    
['to@example.com'], fail_silently=False)

直接以 send_mail 方式寄出即可,

除此以外,

也可以將 Mail Server 的相關設定存在 settings.py 中:





# EMAIL setting
EMAIL_USE_TLS = True
EMAIL_HOST = 'mail.server'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'admin@test'
EMAIL_HOST_PASSWORD = 'test'
DEFAULT_FROM_EMAIL = 'From '




這樣就可省略上述的建立連線,

如果要傳送密件副本的話,

要多傳一個參數

bcc = mail_list


這裡是不及格研究室,

今天的主題是:

透過 Django 寄送 EMAIL範例教學



================================
分享與讚美,是我們繼續打拼的原動力.
若文章對您有幫助,望請不吝按讚或分享.
或者對影片有興趣可以訂閱頻道接收通知
================================
YouTube 頻道
FB 粉絲專頁
================================

guangyaw

重點主題: 程式設計: Python , Django,Android 工具與軟體: Open edX,Linux工具,Blender教學 分享各地美景與產品使用心得,遊戲實況,甚至影視戲劇等, 您的訂閱就是頻道成長的原動力。 YouTube 頻道: https://youtube.com/xyawli

You may also like...

發佈留言