Knowledgebase

Gửi email bằng Python [Kèm tệp đính kèm] - Hướng dẫn mới

Tìm hiểu cách gửi email dễ dàng bằng Python sử dụng API Aspose . Với thư viện Aspose.Email for Python via .NET, bạn có thể tạo, chuyển đổi, gửi, nhận hoặc thao tác các tin nhắn email, bao gồm MSG , PST , EML , EMLX , và nhiều định dạng tệp khác.

Gửi email bằng Python

Aspose.Email for Python via .NET là một API lập trình email mạnh mẽ và đáng tin cậy để tạo, thao tác và chuyển đổi các định dạng tin nhắn email thông thường mà không phải lo lắng về độ phức tạp của việc thực thi định dạng nền. Đây là một thư viện lớp dễ sử dụng, được lắp ráp để tạo ra một thành phần lập trình email xuất sắc và vững chắc. Aspose.Email for Python giúp tiết kiệm thời gian và công sức bằng cách cho phép bạn nhanh chóng và dễ dàng mã hoá việc xử lý các tệp tin tin nhắn phức tạp vào ứng dụng của mình.

API của chúng tôi có thể được sử dụng để thực hiện nhiều nhiệm vụ trong các ứng dụng và có thể tích hợp với bất kỳ loại ứng dụng nào. Chúng tôi cung cấp các ví dụ mã để giúp các nhà phát triển khởi động nhanh chóng.

Các tính năng của Aspose.Email for Python via .NET:

• Chuyển đổi và hiển thị các định dạng email
• Gửi và nhận các định dạng email phổ biến, bao gồm tệp đính kèm
• Tải email từ máy chủ thư IMAP và POP3
• Thao tác (tạo và cập nhật) các tác vụ bằng iCalendar
• Quản lý các tệp lưu trữ tin nhắn
• Quản lý tệp đính kèm email
• Thao tác các cuộc họp hoặc lịch hẹn tuân theo iCalendar
• Hỗ trợ TLS và SSL
• Tệp đính kèm TNEF

Các định dạng tệp được hỗ trợ:

MSG - Định dạng Microsoft Outlook và Exchange để lưu trữ tin nhắn email, cuộc hẹn và các tác vụ tương tự
PST - Tệp lưu trữ cá nhân Outlook để lưu trữ email, lịch, danh bạ và các định dạng tệp khác
OST - Dữ liệu hộp thư của người dùng trên máy cục bộ sau khi đăng ký với Exchange Server qua Microsoft Outlook
OFT - Tệp mẫu tin nhắn Microsoft Outlook
EML - Tin nhắn email được lưu bằng Outlook hoặc các ứng dụng tương tự
EMLX - Tệp văn bản được Apple phát triển và triển khai
MBOX - Được sử dụng để thu thập các tin nhắn thư điện tử
ICS - Định dạng tệp iCalendar để chia sẻ sự kiện và lên lịch các tác vụ qua email
VCF - Định dạng tệp cho danh thiếp điện tử và lưu trữ thông tin liên hệ
HTML - Phần mở rộng HyperText Markup Language cho các trang web và hiển thị trong trình duyệt
MHTML - Đây là định dạng lưu trữ và chứa nội dung của một trang web

Tạo và thiết lập nội dung email bằng Python

Tạo tin nhắn email

Với lớp MailMessage , các nhà phát triển có thể tạo một tin nhắn email mới. Lớp này đại diện cho một tin nhắn email. Các thuộc tính email như From, To, Subject và Body có thể dễ dàng được gắn vào tin nhắn email đã tạo.

Chúng ta sẽ thực hiện các bước sau để tạo một tin nhắn email mới:

  1. Tạo một thể hiện của lớp MailMessage
  2. Thiết lập các thuộc tính của tin nhắn email
  3. Lưu tin nhắn email ở các định dạng khác nhau, như EML, MSG và MHTML

Đoạn mã dưới đây cho thấy cách tạo một email mới với các thuộc tính khác nhau:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "New MailMessage created with Aspose.Email for Python"
eml.html_body = "<b>This line is in bold </b> while this is normal text"
eml.from_address = "from@domain.com"

eml.to.append(ae.MailAddress("to1@domain.com", "Recipient 1"))
eml.to.append(ae.MailAddress("to2@domain.com", "Recipient 2"))

eml.cc.append(ae.MailAddress("cc1@domain.com", "Recipient 3"))
eml.cc.append(ae.MailAddress("cc2@domain.com", "Recipient 4"))

#Save generated EML in different formats to disc
eml.save(dataDir + "CreateNewMailMessage_out.eml")
eml.save(dataDir + "CreateNewMailMessage_out.msg", ae.SaveOptions.default_msg_unicode)
eml.save(dataDir + "message_out.msg", ae.SaveOptions.default_msg)
eml.save(dataDir + "message_out.mhtml", ae.SaveOptions.default_mhtml)
eml.save(dataDir + "message_out.html", ae.SaveOptions.default_html)

Thiết lập phần thân HTML của tin nhắn

Với HtmlBody chúng ta chỉ định nội dung HTML của phần thân tin nhắn. Đoạn mã dưới đây cho thấy cách thiết lập phần thân HTML:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()

# Specify HtmlBody
eml.html_body = "<html><body>This is the HTML body</body></html>"

Thiết lập văn bản thay thế trong tin nhắn email

Lớp AlternateView chỉ định các bản sao của một tin nhắn email ở các định dạng khác nhau, và lớp này có hai thuộc tính:

• LinkedResources, được sử dụng khi hiển thị, các URL trong nội dung email sẽ được so khớp và giải quyết dựa trên các URL trong Content Link của mỗi đối tượng LinkedResources trong bộ sưu tập LinkedResources
• BaseUri, được trình đọc email sử dụng để giải quyết các URL tương đối trong phần thân

Đoạn mã ví dụ bên dưới:
# For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Declare message as MailMessage instance
eml = ae.MailMessage()

# Creates AlternateView to view an email message using the content specified in the //string
alternate = AlternateView.create_alternate_view_from_string("Alternate Text")

# Adding alternate text
eml.add_alternate_view(alternate)

Thêm tệp đính kèm vào email

Chúng ta sẽ thực hiện các bước sau để thêm tệp đính kèm vào email:

  1. Tạo một thể hiện của lớp MailMessage và Attachment
  2. Tải tệp đính kèm vào thể hiện Attachment
  3. Thêm thể hiện Attachment vào thể hiện lớp MailMessage

Đoạn mã dưới đây cho một ví dụ về cách thêm tệp đính kèm vào email:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
# Create an instance of MailMessage class
message = MailMessage("sender@domain.com", "receiver@domain.com")

# Load an attachment
attachment = Attachment(dataDir + "1.txt");

# Add Multiple Attachment in instance of MailMessage class and Save message to disk
message.attachments.append(attachment);
message.add_attachment(Attachment(dataDir + "1.jpg"))
message.add_attachment(Attachment(dataDir + "1.doc"))
message.add_attachment(Attachment(dataDir + "1.rar"))
message.add_attachment(Attachment(dataDir + "1.pdf"))
message.save(dataDir + "AddEmailAttachments_out.msg", SaveOptions.default_msg_unicode)

Gửi email bằng Python

Aspose.Email for Python cho phép bạn gửi email bằng các máy chủ SMTP, POP3 và IMAP. Bạn có thể dễ dàng đăng nhập vào máy chủ POP3 bằng thông tin xác thực (tên người dùng và mật khẩu) hoặc xác thực APOP để thực hiện các thao tác email như xem kích thước hộp thư và số lượng tin nhắn, lấy toàn bộ tin nhắn hoặc tiêu đề của nó, xóa tin nhắn khỏi máy chủ cũng như các lệnh POP3 cơ bản.

Aspose.Email for Python cũng hỗ trợ giao thức IMAP bao gồm các lệnh cũng như xác thực, chọn, tạo, xóa, truy vấn thư mục, lưu tin nhắn, lấy, xóa và thao tác các nhãn.

Gửi tin nhắn bằng client SMTP

Để gửi một tin nhắn email bằng Python, chúng ta sẽ thực hiện các bước sau:

  1. Tạo một thể hiện của lớp MailMessage
  2. Xác định địa chỉ email của người gửi và người nhận trong thể hiện MailMessage
  3. Xác định nội dung TextBody
  4. Tạo một thể hiện của lớp SmtpClient và gửi tin nhắn email

Đoạn mã dưới đây cho thấy cách gửi một email dạng văn bản thuần bằng Python:
For complete examples and data files, please go to https://github.com/aspose-email/aspose-email-python-dotnet
eml = ae.MailMessage()
eml.subject = "Message with Plain Text Body"
eml.body = "This is plain text body."
eml.from_address = "from@gmail.com"
eml.to.append(ae.MailAddress("to@gmail.com", "Recipient 1"))

#Send using Smtp Client
client = SmtpClient("smtp.gmail.com", 995, "username", "password")
client.security_options = SecurityOptions.AUTO

client.send(eml)

Nếu bạn cần hỗ trợ cho dự án của mình, luôn có thể liên hệ với các chuyên gia Tư vấn trả phí của chúng tôi. Đội ngũ của chúng tôi sẽ làm việc cùng bạn để tìm ra giải pháp tốt nhất cho dự án, triển khai phù hợp và cung cấp giá trị tối ưu. Bạn có thể tin tưởng vào chúng tôi trong quá trình phát triển và mở rộng trong tương lai.