Araç Özellikleri - SMTP İstemcisi

SMTP İstemcisi ile Eklenti Sunucularını Listeleme

Aspose.Email SmtpClient size, bir sunucunun IDLE, UNSELECT, QUOTA vb. gibi desteklediği sunucu eklentilerini almanızı sağlar. Bu, belirli bir işlevsellik için istemciyi kullanmadan önce bir eklentinin kullanılabilirliğini belirlemenize yardımcı olur. Bu getCapabilities() method, desteklenen eklenti türlerini bir dizi string olarak döndürür.

Sunucu Eklentilerini Alma

Aşağıdaki kod parçacığı, sunucu eklentilerini nasıl alacağınızı gösterir.

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

İmzalı Mesajla Çalışma

Aspose.Email API, sertifikalar kullanarak İmzalı mesajlar oluşturma yeteneği sağlar. Bu attachSignature metodu MailMessage class, bir mesajı kaydetmek ya da hatta göndermek için imzalamada kullanılabilir SmtpClient.

Bouncy Castle Maven Bağımlılıkları

<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 Güvenlik Sağlayıcısını Etkinleştir

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

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

Bir Mesajı İmzala

Aşağıdaki kod parçacığı, bir Mesajı Nasıl İmzalanacağını gösterir.

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

Ayrılmış Sertifika Seçeneğini Kullanma

Web tabanlı e-posta istemcileri İmzalı bir mesajın gövde içeriğini göstermek isteyebilir. Bu, sertifikayı web tabanlı e-posta istemcilerine göndermeden önce ayırarak çözülebilir. Aşırı yüklenmiş methoddaki ayrılmış bayrağı attachSignature bunu sağlamak için kullanılabilir. true olarak ayarlanırsa, sertifika e-postadan ayrılır ve tersine. Web tabanlı istemcilerde İmzalı Mesaj gövdesini görmek için oluşturmanız gerekir MailMessage ayrılmış imza ile. Aşağıdaki kod parçacığı, ayrılmış sertifika seçeneğini nasıl kullanacağınızı gösterir.

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