Tính năng Tiện ích - SMTP Client

Liệt kê các Phần Mở Rộng Server bằng Smtp Client

Aspose.Email SmtpClient cho phép bạn lấy các phần mở rộng mà máy chủ hỗ trợ như IDLE, UNSELECT, QUOTA, v.v. Điều này giúp xác định tính khả dụng của một phần mở rộng trước khi sử dụng client cho chức năng cụ thể đó. The getCapabilities() phương thức trả về các loại phần mở rộng được hỗ trợ dưới dạng mảng string.

Lấy các Phần Mở Rộng của Máy Chủ

Đoạn mã sau cho bạn thấy cách lấy các phần mở rộng của máy chủ.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

SmtpClient client = new SmtpClient("smtp.gmail.com",587,"username","password");
client.setSecurityOptions(SecurityOptions.Auto);
String[] caps = client.getCapabilities();
for (String str:caps)
	System.out.println(str);

Làm việc với Tin Nhắn Đã ký

Aspose.Email API cung cấp khả năng tạo tin nhắn Đã ký bằng chứng chỉ. The attachSignature phương thức của MailMessage lớp có thể được dùng để ký một tin nhắn để lưu hoặc thậm chí gửi nó bằng cách sử dụng SmtpClient.

Phụ thuộc Maven của Bouncy Castle

<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.60</version>
</dependency>

<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.60</version>
</dependency>

Kích hoạt Bouncy Castle Security Provider

import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

if (Security.getProvider("BC") == null)
    Security.addProvider(new BouncyCastleProvider());

Ký một Tin Nhắn

Đoạn mã sau cho bạn thấy cách ký một tin nhắn.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

byte[] privateCert = Files.readAllBytes(new File("sample.pfx").toPath());
byte[] publicCert = Files.readAllBytes(new File("sample.cer").toPath());

MailMessage msg = new MailMessage("userfrom@gmail.com", "userto@gmail.com", "Signed message only", "Test Body of signed message");
MailMessage signed = msg.attachSignature(privateCert, "password");
MailMessage encrypted = signed.encrypt(publicCert, "password");
MailMessage decrypted = encrypted.decrypt(privateCert, "password");
MailMessage unsigned = decrypted.removeSignature();// The original message with proper body
MapiMessage mapi = MapiMessage.fromMailMessage(unsigned);

Sử dụng Tùy chọn Chứng chỉ Tách rời

Các client email dựa trên Web có thể không hiển thị được nội dung của Tin Nhắn Đã ký. Điều này có thể được giải quyết bằng cách tách chứng chỉ trước khi gửi tới các client email dựa trên Web. Cờ tách rời trong phương thức overload của attachSignature có thể được sử dụng để đạt được điều này. Nếu đặt thành true, chứng chỉ sẽ được tách khỏi email và ngược lại. Để xem phần nội dung của Tin Nhắn Đã ký trong các client dựa trên Web, bạn cần tạo MailMessage với chữ ký tách rời. Đoạn mã sau cho bạn thấy cách sử dụng tùy chọn chứng chỉ tách rời.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java

MailMessage msg = new MailMessage("dr38445@gmail.com", "dr38445@gmail.com", "subject:Signed message only by AE", "body:Test Body of signed message by AE");
MailMessage signed = msg.attachSignature(privateCert, "password", true);
SmtpClient smtp = getSmtpClient(); //some test smtp client

smtp.send(signed);