Fitur Utilitas - SMTP Client

Mendaftar Server Ekstensi menggunakan Smtp Client

Aspose.Email SmtpClient memungkinkan Anda mengambil ekstensi server yang didukung server seperti IDLE, UNSELECT, QUOTA, dll. Ini membantu mengidentifikasi ketersediaan ekstensi sebelum menggunakan klien untuk fungsi tersebut. The getCapabilities() metode mengembalikan tipe ekstensi yang didukung dalam bentuk array string.

Mengambil Ekstensi Server

Potongan kode berikut menunjukkan cara mengambil ekstensi server.

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

Bekerja dengan Pesan Signed

Aspose.Email API menyediakan kemampuan untuk membuat pesan Signed menggunakan sertifikat. The attachSignature metode dari MailMessage kelas dapat digunakan untuk menandatangani pesan untuk penyimpanan atau bahkan mengirimnya menggunakan SmtpClient.

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

Aktifkan Penyedia Keamanan Bouncy Castle

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

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

Menandatangani Pesan

Potongan kode berikut menunjukkan cara Menandatangani Pesan.

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

Menggunakan Opsi Sertifikat Terpisah

Klien email berbasis Web mungkin tidak dapat menampilkan isi pesan Signed. Hal ini dapat diatasi dengan memisahkan sertifikat sebelum mengirimkannya ke klien email berbasis Web. Bendera detached dalam metode overload dari attachSignature dapat digunakan untuk mencapai ini. Jika disetel ke true, sertifikat terpisah dari email dan sebaliknya. Untuk melihat isi Pesan Signed di klien berbasis Web, Anda perlu membuat MailMessage dengan tanda tangan terpisah. Potongan kode berikut menunjukkan cara menggunakan opsi sertifikat terpisah.

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