1. Trang chủ
  2. » Thể loại khác

gui email trong python

5 255 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Cấu trúc

  • Gửi Email sử dụng SMTP trong Python

    • Ví dụ

    • Gửi HTML email bởi sử dụng Python

      • Ví dụ

    • Gửi đính kèm với email bởi sử dụng Python

      • Ví dụ

Nội dung

http://vietjack.com/python/index.jsp Copyright © vietjack.com Gửi Email sử dụng SMTP Python SMTP (là viết tắt Simple Mail Transfer Protocol) giao thức để xử lý trình gửi định tuyến email Mail Server Python cung cấp smtplib Module, mà định nghĩa đối tượng SMTP Client Session sử dụng để gửi email tới thiết bị internet với SMTP ESMTP Listener Dưới cú pháp để tạo đối tượng SMTP: import smtplib smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] ) Chi tiết tham số:  host: Đây host chạy SMTP Server bạn Bạn xác định địa IP host tên miền vietjack.com Đây tham số tùy ý  port: Nếu bạn cung cấp tham số host, bạn cần xác định port, nơi SMTP Server nghe yêu cầu Thường port 25  ten_localhost: Nếu SMTP Server bạn chạy thiết bị local, bạn xác định localhost cho tùy chọn Đối tượng SMTP có phương thức instance sendmail, sử dụng để gửi thơng điệp Nó nhận ba tham số:  sender - Là chuỗi địa người gửi  receivers - Một danh sách chuỗi, chuỗi địa người nhận  message - Là thông điệp định dạng chuỗi Ví dụ Dưới cách đơn giản để gửi email sử dụng Python import smtplib http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/python/index.jsp Copyright © vietjack.com sender = 'from@fromdomain.com' receivers = ['to@todomain.com'] message = """From: Tu To: Toi Subject: SMTP e-mail test Day la vi du ve gui email """ try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender, receivers, message) print "Gui email cong" except SMTPException: print "Error: khong the gui email" Trong ví dụ trên, đặt email message, sử dụng trích dẫn tam Bạn cần định dạng trường header cách xác Một email cần From,To, Subject header, phân biệt với phần thân email dòng trắng Để gửi email, bạn sử dụng smtpObj để kết nối tới SMTP Server thiết bị local sau sử dụng phương thức sendmail với thông điệp message, địa người gửi, địa người nhận tham số Nếu bạn không chạy SMTP Server thiết bị local, bạn sử dụng smtplib Client để giao tiếp với SMTP Server từ xa Ví dụ: smtplib.SMTP('mail.your-domain.com', 25) Gửi HTML email sử dụng Python Khi bạn gửi text message sử dụng Python, tất nội dung xem dạng text đơn giản Ngay bạn bao HTML tag thơng điệp text này, hiển thị dạng text đơn giản thẻ HTML không định dạng tương ứng với cú pháp http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/python/index.jsp Copyright © vietjack.com HTML Nhưng Python cung cấp tùy chọn để gửi HTML message dạng thông điệp HTML thực Trong gửi email message, bạn xác định Mine version, kiểu nội dung, ký tự để gửi HTML email Ví dụ Ví dụ đơn giản gửi HTML content dạng email import smtplib message = """From: Tu To: Toi MIME-Version: 1.0 Content-type: text/html Subject: SMTP HTML e-mail test Day la vi du gui email dinh dang HTML Day la HTML message. Day la headline. """ try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender, receivers, message) print "Gui email cong" except SMTPException: print "Error: khong the gui email" Gửi đính kèm với email sử dụng Python Để làm điều này, bạn cần thiết lập trường Content-type header thành multipart/mixed Sau đó, phần text attachment xác định bên boundaries http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/python/index.jsp Copyright © vietjack.com Một boundary bắt đầu với hai dấu gạch nối ( ) theo sau số nhất, mà xuất phần thông điệp email Một final boundary, biểu thị khu vực cuối email đó, phải kết thúc với hai dấu gạch Các file đính kèm nên bao quanh hàm pack(“m”) để có mã hóa base64 trước truyền tải Ví dụ Ví dụ sau gửi file có tên /tmp/test.txt dạng đính kèm import smtplib import base64 filename = "/tmp/test.txt" # Doc mot file va ma hoa no dinh dang base64 fo = open(filename, "rb") filecontent = fo.read() encodedcontent = base64.b64encode(filecontent) # base64 sender = 'webmaster@vietjack.com' reciever = 'amrood.admin@gmail.com' marker = "AUNIQUEMARKER" body =""" Day la vi du de gui email voi attachment """ # Dinh nghia cac header part1 = """From: Tu To: Toi Subject: Sending Attachement http://vietjack.com/ Trang chia sẻ học online miễn phí Page http://vietjack.com/python/index.jsp Copyright © vietjack.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=%s %s """ % (marker, marker) # Dinh nghia message action part2 = """Content-Type: text/plain Content-Transfer-Encoding:8bit %s %s """ % (body,marker) # Dinh nghia phan attachment part3 = """Content-Type: multipart/mixed; name=\"%s\" Content-Transfer-Encoding:base64 Content-Disposition: attachment; filename=%s %s %s-""" %(filename, filename, encodedcontent, marker) message = part1 + part2 + part3 try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender, reciever, message) print "Gui email cong" except Exception: print "Error: khong the gui email" http://vietjack.com/ Trang chia sẻ học online miễn phí Page ... du ve gui email """ try: smtpObj = smtplib.SMTP('localhost') smtpObj.sendmail(sender, receivers, message) print "Gui email cong" except SMTPException: print "Error: khong the gui email" Trong. .. dụ trên, đặt email message, sử dụng trích dẫn tam Bạn cần định dạng trường header cách xác Một email cần From,To, Subject header, phân biệt với phần thân email dòng trắng Để gửi email, bạn sử... phí Page http://vietjack.com /python/ index.jsp Copyright © vietjack.com HTML Nhưng Python cung cấp tùy chọn để gửi HTML message dạng thông điệp HTML thực Trong gửi email message, bạn xác định Mine

Ngày đăng: 02/12/2017, 12:28

TỪ KHÓA LIÊN QUAN