ฟีเจอร์ยูทิลิตี้ - SMTP Client

การแสดงรายการส่วนขยายของเซิร์ฟเวอร์โดยใช้ Smtp Client

Aspose.Email SmtpClient ช่วยให้คุณดึงส่วนขยายของเซิร์ฟเวอร์ที่รองรับ เช่น IDLE, UNSELECT, QUOTA ฯลฯ ซึ่งช่วยระบุการมีอยู่ของส่วนขยายก่อนใช้คลไอเอนต์สำหรับฟังก์ชันนั้น ๆ ส่วนที่ getCapabilities() เมธอดคืนค่าชนิดส่วนขยายที่รองรับในรูปแบบอาร์เรย์ของสตริง

การดึงส่วนขยายของเซิร์ฟเวอร์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีดึงส่วนขยายของเซิร์ฟเวอร์

// 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);

การทำงานกับข้อความที่เซ็น

Aspose.Email API ให้ความสามารถในการสร้างข้อความที่เซ็นด้วยใบรับรอง ส่วนที่ attachSignature เมธอดของ MailMessage คลาสสามารถใช้เพื่อเซ็นข้อความเพื่อบันทึกหรือแม้กระทั่งส่งโดยใช้ SmtpClient.

การพึ่งพา Bouncy Castle Maven

<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>

เปิดใช้งาน Bouncy Castle Security Provider

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

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

เซ็นข้อความ

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการเซ็นข้อความ

// 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);

การใช้ตัวเลือกใบรับรองแยกส่วน

ไคลเอนต์อีเมลแบบเว็บอาจไม่สามารถแสดงเนื้อหาของข้อความที่เซ็นได้ สามารถแก้ไขได้โดยการแยกใบรับรองก่อนส่งไปยังไคลเอนต์แบบเว็บ ธ旗แยกส่วนในเมธอดที่โอเวอร์โหลดของ attachSignature สามารถใช้เพื่อทำเช่นนี้ หากตั้งค่าเป็น true ใบรับรองจะถูกแยกออกจากอีเมลและในทางกลับกัน เพื่อให้เห็นเนื้อหาข้อความที่เซ็นในไคลเอนต์แบบเว็บ คุณต้องสร้าง MailMessage พร้อมลายเซ็นแยกส่วน ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้ตัวเลือกใบรับรองแยกส่วน

// 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);