Làm cách nào để gửi email từ máy chủ cục bộ bằng Python?

Giao thức truyền thư đơn giản [SMTP] dường như là một tiêu chuẩn e-mail để truyền và chỉ đạo thư giữa các hệ thống email. Gói smtplib trong Python tạo một thực thể hội nghị khách hàng SMTP có thể tắt để gửi email tới bất kỳ máy tính nào trên Internet có dịch vụ nghe SMTP hoặc ESMTP

Trong hướng dẫn này, chúng tôi sẽ cho bạn biết về các phương pháp gửi email bằng SMTP trong hệ thống của bạn. Chúng tôi đã sử dụng phiên bản mới của Spyder để thực hiện gửi email qua python trong Ubuntu 20. 04. Đăng nhập từ Ubuntu 20 của bạn. 04 hệ thống để bắt đầu thực hiện nó

Ví dụ 01

Mở ứng dụng Spyder từ khu vực ứng dụng của hệ thống Linux của bạn. Cửa sổ hiển thị bên dưới sẽ được mở. Viết ra đoạn mã dưới đây trong đó. Chúng tôi đang nhập smtplib trong mã của mình trước. Sau đó, chúng tôi đã xác định riêng email người gửi và người nhận. Sau đó, chúng tôi đã sử dụng một trích dẫn ba lần để bao gồm một e-mail đơn giản trong văn bản và bạn đã đảm bảo rằng các tiêu đề được định dạng đúng trong thư. Một dòng trống ngăn cách các tiêu đề Từ, Đến, cũng như Chủ đề ra khỏi nội dung email

Trong câu lệnh thử, để gửi thư, trước tiên hãy kết nối với máy chủ SMTP gốc bằng cách sử dụng smtpObj và trước đây chỉ sử dụng chức năng Gửi thư với văn bản, địa chỉ gửi cũng như địa chỉ đích dưới dạng tùy chọn. Chúng tôi có thể sử dụng ứng dụng khách smtplib để tương tác với máy chủ SMTP ở xa nếu bạn không sử dụng máy chủ SMTP hoạt động trên máy trạm gốc của mình. Vì vậy, nếu bạn đang sử dụng một nền tảng web như Hotmail cũng như Yahoo Mail, nhà cung cấp dịch vụ e-mail của bạn sẽ cung cấp cho bạn thông tin máy chủ thư gửi đi phù hợp. Nếu kết nối thành công, nó sẽ gửi thư đến người nhận và in thông báo thành công. Nếu không, câu lệnh except sẽ được thực thi với một thông báo lỗi

Lưu mã python của bạn và thực thi mã này bằng cách nhấp vào nút “chạy” của ứng dụng spyder

Khi thực hiện, nó sẽ hiển thị cho bạn thông báo thành công như trong ảnh chụp màn hình bên dưới nếu việc gửi email thành công từ phía bạn

Ví dụ 02

Như đã nêu trước đây, Python bao gồm thư viện smtplib, quản lý tất cả các khía cạnh của giao thức của nó, bao gồm kết nối, xác minh, xác thực và gửi email. Sử dụng smtplib, thực hiện các tương tác này thật dễ dàng. Ở cấp độ cơ bản nhất, email chỉ là các chuỗi văn bản được phân tách bằng ký hiệu dòng mới. Các phần “Từ”, “Tới”, “Chủ đề” cũng như “Nội dung” sẽ có mặt trong hầu hết các thư. Hàm ehlo[] có thể được sử dụng để xây dựng một biến thể được giải mã. Trong suốt gói smtplib, dường như có một số cách rất khác nhau để bảo vệ thông tin liên lạc SMTP của bạn

Ban đầu, phương pháp đầu tiên là thiết lập kết nối không được bảo vệ, sau đó nâng cấp lên TLS. Hàm starttls[] được sử dụng để làm điều này. Để cải thiện liên kết cần bảo vệ, chúng tôi đang sử dụng hàm starttls[]. Mỗi dòng có một khu vực mới với dữ liệu của nó, như bạn đã thấy. Không có giao thức nhị phân, XML hoặc JSON;

Chỉnh sửa chuỗi trong Python thực sự là một cách tiếp cận đơn giản để quản lý tốt hơn các trường nhất định. Những gì bạn cần làm là gửi đối số văn bản email tới smtplib, chúng tôi sẽ hướng dẫn bạn cách thực hiện trong bước sau. Nếu gửi mail thành công sẽ in thông báo thành công ngược lại in thông báo lỗi từ câu lệnh except

Hãy chạy lại tệp bằng cách nhấn vào nút “chạy” trong ứng dụng Spyder của bạn. Nếu mã bị lỗi hoặc kết nối không thể liên kết thành công với máy chủ Gmail, nó sẽ hiển thị thông báo lỗi “Đã xảy ra lỗi…” từ câu lệnh except như bên dưới

Nếu mã thành công trong việc gửi thư đến máy chủ Gmail khi thực thi, nó sẽ hiển thị thông báo thành công “Đã gửi email. ” đã được sử dụng trong câu lệnh thử của mã python ở trên. Đầu ra sẽ trông giống như được trình bày trong hình bên dưới

Ví dụ 03

Chúng ta sẽ khám phá những việc cần làm để gửi email nhanh bằng cách sử dụng tập lệnh Python trong hướng dẫn này. Python, với tư cách là ngôn ngữ thống trị, không yêu cầu sử dụng bất kỳ thư viện nào khác và bao gồm một thư viện cục bộ để gửi email có tên là “SMTP lib. ” Hàm “smtplib” tạo thực thể phiên khách hàng Giao thức chuyển thư đơn giản có thể được sử dụng để viết email tới bất kỳ địa chỉ email hợp lệ nào trên web. Các cổng khác nhau đã được sử dụng bởi các trang web khác nhau. Trong suốt bài đăng này, chúng tôi sẽ gửi email bằng tài khoản Gmail. Số cổng được sử dụng trong trường hợp này là 587. Nếu bạn muốn gửi email qua một trang web ngoài Gmail, trước tiên bạn phải có thông tin xác thực cần thiết

Đầu tiên và quan trọng nhất, mô-đun “smtplib” phải được tải. Sau đó, chúng tôi sẽ sử dụng đối tượng SMTP của nó để bọc kết nối SMTP để thiết lập phiên. Chúng ta phải cung cấp đối số đầu tiên, đó sẽ là địa chỉ của máy chủ cũng như giá trị khác, đó sẽ là cổng được sử dụng. Số cổng 587 được sử dụng cho Gmail. Đặt kết nối SMTP ở trạng thái TLS ngay bây giờ vì lo ngại về bảo mật. Tất cả các hướng dẫn SMTP được mã hóa bằng TLS [Bảo mật lớp vận chuyển]

Sau đó, bạn phải nhập chi tiết đăng nhập Gmail của mình vào biểu mẫu đăng nhập để đảm bảo quyền riêng tư và bảo mật. Khi bạn nhập sai địa chỉ email hoặc mật khẩu, trình dịch sẽ hiển thị lỗi nhận dạng. Lưu tin nhắn bạn sẽ gửi trong một biến có tên là tin nhắn. Đăng nhận xét của bạn bằng phương thức Sendmail[]. Ba đối số được sử dụng bởi Sendmail[]. id email của người gửi, người nhận và văn bản sẽ là khách hàng tiềm năng. Tất cả các giá trị phải theo thứ tự tương tự

Phần kết luận

Ngoài các quy trình cấp phép dành riêng cho Gmail [bao gồm các ứng dụng kém an toàn hơn, v.v. ], các tập lệnh và ví dụ này sẽ hoạt động với hầu hết mọi dịch vụ thư khác cung cấp kết nối SMTP, miễn là bạn có địa chỉ máy chủ cần thiết cũng như cổng

Làm cách nào để gửi email từ máy chủ cục bộ bằng Python?

Python – Gửi email bằng SMTP .
máy chủ - Đây là máy chủ chạy máy chủ SMTP của bạn. .
cổng - Nếu bạn đang cung cấp đối số máy chủ, thì bạn cần chỉ định một cổng, nơi máy chủ SMTP đang lắng nghe. .
local_hostname − Nếu máy chủ SMTP của bạn đang chạy trên máy cục bộ, thì bạn chỉ có thể chỉ định localhost cho tùy chọn này

Tôi có thể gửi email từ localhost không?

Sử dụng tập lệnh mẫu này bạn có thể gửi email từ bất kỳ máy chủ cục bộ nào [XAMPP, WAMP hoặc bất kỳ máy chủ nào khác] bằng PHP . Chúng tôi sẽ sử dụng thư viện PHPMailer để gửi email từ localhost bằng PHP. Thư viện PHPMailer cung cấp cách dễ nhất để gửi email từ localhost với máy chủ SMTP bằng PHP.

Làm cách nào để gửi email bằng Python?

Sử dụng thư viện smtplib tích hợp sẵn của Python để gửi email cơ bản . Gửi email có nội dung HTML và tệp đính kèm bằng gói email. Gửi nhiều email được cá nhân hóa bằng tệp CSV có dữ liệu liên hệ. Sử dụng gói Yagmail để gửi email qua tài khoản Gmail của bạn chỉ bằng một vài dòng mã.

Tôi có thể sử dụng localhost cho máy chủ SMTP không?

Nhập tên duy nhất của máy chủ SMTP của bạn vào hộp văn bản Máy chủ SMTP hoặc chọn hộp kiểm Sử dụng máy chủ cục bộ để đặt tên thành Máy chủ cục bộ. Setting the name to LocalHost means that ASP.NET uses an SMTP server on the local computer. Typically, this is the default SMTP virtual server.

Chủ Đề