Python smtplib
Giao thức truyền thư đơn giản (SMTP) được sử dụng làm giao thức để xử lý việc chuyển email bằng Python. Nó được sử dụng để định tuyến email giữa các máy chủ email. Nó là một giao thức lớp ứng dụng cho phép người dùng gửi thư đến người khác. Người nhận truy xuất email bằng các giao thức POP (Giao thức Bưu điện) và IMAP (Giao thức Truy cập Thư Internet) Show
Khi máy chủ lắng nghe kết nối TCP từ máy khách, nó sẽ bắt đầu kết nối trên cổng 587 Python cung cấp một mô-đun smtplib, mô-đun này xác định một đối tượng phiên máy khách SMTP được sử dụng để gửi email đến một máy internet. Với mục đích này, chúng ta phải nhập mô-đun smtplib bằng câu lệnh nhập Đối tượng SMTP được sử dụng để chuyển email. Cú pháp sau được sử dụng để tạo đối tượng smtplib Nó chấp nhận các tham số sau
Phương thức sendmail() của đối tượng SMTP được sử dụng để gửi thư đến máy mong muốn. Cú pháp được đưa ra dưới đây Thí dụ Gửi thư từ gmailCó những trường hợp email được gửi bằng máy chủ Gmail SMTP. Trong trường hợp này, chúng ta có thể chuyển Gmail làm máy chủ SMTP thay vì sử dụng localhost với cổng 587 Sử dụng cú pháp sau Tại đây, chúng ta cần đăng nhập vào tài khoản Gmail bằng tên người dùng và mật khẩu Gmail. Với mục đích này, smtplib cung cấp phương thức login() chấp nhận tên người dùng và mật khẩu của người gửi Điều này có thể khiến Gmail của bạn yêu cầu bạn cấp quyền truy cập vào các ứng dụng kém an toàn hơn nếu bạn đang sử dụng Gmail. Bạn sẽ cần BẬT tính năng này tạm thời để tính năng này hoạt động Xem xét ví dụ sau Thí dụ Gửi HTML trong emailChúng tôi có thể định dạng HTML trong tin nhắn bằng cách chỉ định phiên bản MIME, loại nội dung và bộ ký tự để gửi HTML Hướng dẫn này sẽ giới thiệu về SMTP, một mô-đun Python được sử dụng để gửi thư. Nó cũng sẽ trình bày cách gửi các loại email khác nhau như email văn bản đơn giản, email có tệp đính kèm và email có nội dung HTML Sau này, tôi sẽ chỉ cho bạn cách Giới thiệu về SMTPGiao thức truyền thư đơn giản (SMTP) xử lý việc gửi và định tuyến email giữa các máy chủ thư Trong Python, mô-đun 140 xác định đối tượng phiên máy khách SMTP có thể được sử dụng để gửi thư đến bất kỳ máy Internet nào có trình nền trình nghe SMTP hoặc ESMTP Đây là cách tạo một đối tượng SMTP 1 import smtplib 2 3 server = smtplib.SMTP(host="host_address" ,port="your_port") Tạo và gửi một email đơn giảnTập lệnh sau sẽ cho phép bạn gửi email qua máy chủ Gmail SMTP. Tuy nhiên, Google sẽ không cho phép đăng nhập qua 140 vì Google đã gắn cờ loại đăng nhập này là "kém an toàn". Để giải quyết vấn đề này, hãy truy cập https. //www. Google. com/settings/security/lesssecureapps khi bạn đã đăng nhập vào tài khoản Google của mình và "Cho phép các ứng dụng kém an toàn hơn". Xem ảnh chụp màn hình bên dưới Chúng tôi sẽ làm theo các bước sau để hoàn thành quá trình này
Quá trình này là đơn giản, như hình dưới đây 1 # import necessary packages
2 3 import smtplib1 import smtplib2 import smtplib3 import smtplib4 import smtplib import smtplib6 import smtplib8 import smtplib9 20 21 22 24 26 27 28 0 1 2 3 4 5 6 7 8 9 30 32 33 34 35 36 38 39 server = smtplib.SMTP(host="host_address" ,port="your_port")0 server = smtplib.SMTP(host="host_address" ,port="your_port")1 server = smtplib.SMTP(host="host_address" ,port="your_port")2 server = smtplib.SMTP(host="host_address" ,port="your_port")4 server = smtplib.SMTP(host="host_address" ,port="your_port")5 server = smtplib.SMTP(host="host_address" ,port="your_port")6 server = smtplib.SMTP(host="host_address" ,port="your_port")8 server = smtplib.SMTP(host="host_address" ,port="your_port")9 10 11 12 14________4__ Lưu ý rằng địa chỉ 'Tới' và 'Từ' phải được đưa vào tiêu đề thư một cách rõ ràng Tạo và gửi email có tệp đính kèmTrong ví dụ này, chúng tôi sẽ gửi email có tệp đính kèm hình ảnh. Quá trình này tương tự như gửi một email văn bản thuần túy
1 import smtplib 2 import smtplib1 3 23 import smtplib2 import smtplib3 import smtplib4 import smtplib9 import smtplib6 21 import smtplib8 20 22 1 24 3 26 5 28 7 0 import smtplib03 2 4 6 import smtplib07 8 import smtplib09 30 32 import smtplib12 34 36 import smtplib16 38 server = smtplib.SMTP(host="host_address" ,port="your_port")1 server = smtplib.SMTP(host="host_address" ,port="your_port")0 server = smtplib.SMTP(host="host_address" ,port="your_port")2 server = smtplib.SMTP(host="host_address" ,port="your_port")5 server = smtplib.SMTP(host="host_address" ,port="your_port")4 server = smtplib.SMTP(host="host_address" ,port="your_port")6 server = smtplib.SMTP(host="host_address" ,port="your_port")9 server = smtplib.SMTP(host="host_address" ,port="your_port")8 11 10 12 14 17 16 19___ Lớp này là một lớp con được sử dụng để tạo các đối tượng thông báo MIME của các loại hình ảnh. Các lớp có sẵn khác bao gồm và Tạo và gửi email HTMLĐiều đầu tiên chúng ta sẽ làm là tạo một mẫu email HTML Tạo một mẫu HTMLĐây là mã HTML cho mẫu. Nó chứa hai cột bảng, mỗi cột có hình ảnh và nội dung xem trước. Nếu bạn thích một giải pháp chuyên nghiệp, làm sẵn, hãy lấy một số mẫu email tốt nhất. Chúng tôi có một số tùy chọn đáp ứng với các tính năng dễ tùy chỉnh để bắt đầu 1 import smtplib42 2 import smtplib44 3 import smtplib46 import smtplib2 import smtplib48 import smtplib4 import smtplib50 import smtplib6 import smtplib52 import smtplib8 import smtplib54 20 import smtplib56 22 import smtplib58 24 import smtplib60 26 import smtplib62 28 import smtplib64 0 import smtplib66 2 import smtplib68 4 import smtplib70 6 import smtplib72 8 import smtplib74 30 import smtplib76 32 import smtplib78 34 import smtplib80 36 import smtplib82 38 import smtplib84 server = smtplib.SMTP(host="host_address" ,port="your_port")0 import smtplib86 server = smtplib.SMTP(host="host_address" ,port="your_port")2 import smtplib88 server = smtplib.SMTP(host="host_address" ,port="your_port")4 import smtplib90 server = smtplib.SMTP(host="host_address" ,port="your_port")6 import smtplib92 server = smtplib.SMTP(host="host_address" ,port="your_port")8 10 import smtplib96 12________ Mẫu cuối cùng sẽ trông như thế này khi hoàn thành 1 import smtplib 2 16 3 18 import smtplib2 import smtplib4 22 import smtplib6 24 import smtplib8 26 20 28 22 30 24 32 26 34 28 36 0 38 2 40 4 42 6 44 8 46 30 48 32 50 34 52 36 54 38 56 server = smtplib.SMTP(host="host_address" ,port="your_port")0 58 server = smtplib.SMTP(host="host_address" ,port="your_port")2 60 server = smtplib.SMTP(host="host_address" ,port="your_port")4 26 server = smtplib.SMTP(host="host_address" ,port="your_port")6 64 server = smtplib.SMTP(host="host_address" ,port="your_port")8 26 10 26 12________4_ Thực thi mã của bạn và nếu không có lỗi xảy ra thì email đã thành công. Bây giờ, hãy truy cập hộp thư đến của bạn và bạn sẽ thấy email của mình dưới dạng nội dung HTML được định dạng độc đáo Gửi Email Bằng FlaskPhần này sẽ đề cập đến việc cấu hình và gửi email bằng Flask-Mail bằng giao thức SMTP. Flask-Mail là một tiện ích mở rộng cung cấp giao diện đơn giản để thiết lập SMTP với ứng dụng Flask của bạn Tạo một thư mục dự án có tên là jar_email. Bên trong thư mục dự án, tạo một môi trường ảo và kích hoạt nó 1 server = smtplib.SMTP(host="host_address" ,port="your_port")52_______3_______6_______54 Cài đặt Flask và Flask-Mail bằng cách sử dụng 150 1 server = smtplib.SMTP(host="host_address" ,port="your_port")56_______3_______6_______58 Ngoài ra, hãy tạo một ứng dụng tệp. py. trong ứng dụng. py, hãy bắt đầu bằng cách xác định nhập khẩu của chúng tôi 1 server = smtplib.SMTP(host="host_address" ,port="your_port")60_______3_______6_______62 Tiếp theo, xác định một phiên bản ứng dụng Flask 1 server = smtplib.SMTP(host="host_address" ,port="your_port")60_______3_______ server = smtplib.SMTP(host="host_address" ,port="your_port")62 3 server = smtplib.SMTP(host="host_address" ,port="your_port")68 Vì chúng tôi đang sử dụng giao thức SMTP để gửi email bằng Flask, hãy thêm một vài cấu hình như bên dưới. 1 server = smtplib.SMTP(host="host_address" ,port="your_port")60 2 server = smtplib.SMTP(host="host_address" ,port="your_port")62 3___ import smtplib2 server = smtplib.SMTP(host="host_address" ,port="your_port")68 import smtplib4 import smtplib6 server = smtplib.SMTP(host="host_address" ,port="your_port")78 import smtplib8 server = smtplib.SMTP(host="host_address" ,port="your_port")80 20 server = smtplib.SMTP(host="host_address" ,port="your_port")82 22 server = smtplib.SMTP(host="host_address" ,port="your_port")84 24_______6_______86_______3_______6_______6_______88 Flask-Mail đi kèm với phiên bản 151, quản lý email. Hãy khởi tạo phiên bản 151 1 server = smtplib.SMTP(host="host_address" ,port="your_port")90 Tiếp theo, tạo một phiên bản tin nhắn và gửi tin nhắn dự định 1 server = smtplib.SMTP(host="host_address" ,port="your_port")92_______3_______ server = smtplib.SMTP(host="host_address" ,port="your_port")94 3___ server = smtplib.SMTP(host="host_address" ,port="your_port")96 import smtplib2 import smtplib4 import smtplib6 import smtplib8 101 20 103 Mã đầy đủ cho ứng dụng. py sẽ trông như thế này 1 server = smtplib.SMTP(host="host_address" ,port="your_port")60 2 107 3 import smtplib2 server = smtplib.SMTP(host="host_address" ,port="your_port")68 import smtplib4 import smtplib6 server = smtplib.SMTP(host="host_address" ,port="your_port")78 import smtplib8 server = smtplib.SMTP(host="host_address" ,port="your_port")80 20 server = smtplib.SMTP(host="host_address" ,port="your_port")82 22 server = smtplib.SMTP(host="host_address" ,port="your_port")84 24 server = smtplib.SMTP(host="host_address" ,port="your_port")86 26 123 28 0 2 server = smtplib.SMTP(host="host_address" ,port="your_port")90 4 server = smtplib.SMTP(host="host_address" ,port="your_port")92 6 server = smtplib.SMTP(host="host_address" ,port="your_port")94 8 server = smtplib.SMTP(host="host_address" ,port="your_port")96 30 32 34 101 36 103 Phần kết luậnHướng dẫn này đã trình bày hầu hết những gì cần thiết để gửi email cho ứng dụng của bạn. Có một số API có sẵn để gửi email, chẳng hạn như. g. GửiGrid. Vì vậy, bạn không cần phải bắt đầu lại từ đầu, nhưng điều quan trọng là phải hiểu những điều cơ bản. Để biết thêm thông tin, hãy truy cập tài liệu Python Smtplib trong Python là gì?Mô-đun smtplib xác định đối tượng phiên máy khách SMTP có thể được sử dụng để gửi thư đến bất kỳ máy internet nào có trình nền trình nghe SMTP hoặc ESMTP . Để biết chi tiết về hoạt động của SMTP và ESMTP, hãy tham khảo RFC 821 (Giao thức truyền thư đơn giản) và RFC 1869 (Phần mở rộng dịch vụ SMTP).
Làm cách nào để gửi thư bằng smtplib trong Python?Ví dụ . #. /usr/bin/python3 nhập smtplib sender_mail = 'người gửi@gmail. com' receivers_mail = ['reciever@gmail. com'] tin nhắn = """Từ. Từ Người %s Đến. Tới Người %s Môn học. Gửi email SMTP Đây là một tin nhắn e-mail thử nghiệm Smtplib có còn hoạt động không?Để smtplib hoạt động, cần phải bật cài đặt Cho phép ứng dụng kém an toàn hơn. Tuy nhiên, google cho biết rằng " Vào ngày 30 tháng 5 năm 2022, cài đặt này sẽ không còn nữa . "
Làm cách nào để sử dụng thư viện SMTP trong Python?Đây là bốn bước cơ bản để gửi email bằng Python. . Thiết lập máy chủ SMTP và đăng nhập vào tài khoản của bạn Tạo đối tượng thông báo MIMEMultipart và tải nó với các tiêu đề thích hợp cho các trường From , To và Subject Thêm nội dung thư của bạn Gửi tin nhắn bằng đối tượng máy chủ SMTP |