Funzionalità Utilitarie - Client SMTP

Elenco dei Server di Estensione usando Smtp Client

Aspose.Email SmtpClient ti permette di recuperare le estensioni del server che esso supporta, come IDLE, UNSELECT, QUOTA, ecc. Questo aiuta a identificare la disponibilità di un’estensione prima di usare il client per quella specifica funzionalità. Il getCapabilities() metodo restituisce i tipi di estensione supportati sotto forma di array di stringhe.

Recupero delle Estensioni del Server

Il seguente snippet di codice mostra come recuperare le estensioni del 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);

Lavorare con Messaggi Firmati

L’API Aspose.Email fornisce la capacità di creare messaggi firmati usando certificati. Il attachSignature metodo del MailMessage classe può essere usata per firmare un messaggio per salvarlo o anche inviarlo usando il SmtpClient.

Dipendenze Maven di 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>

Abilita Provider di Sicurezza Bouncy Castle

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

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

Firma un Messaggio

Il seguente snippet di codice mostra come firmare un messaggio.

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

Uso dell’Opzione Certificato Separato

I client email basati sul web potrebbero non essere in grado di visualizzare i contenuti del corpo di un messaggio firmato. Ciò può essere risolto separando il certificato prima di inviarlo ai client email basati sul web. Il flag separato nel metodo sovraccarico di attachSignature può essere usato per ottenere ciò. Se impostato a true, il certificato è separato dall’email e viceversa. Per vedere il corpo del Messaggio Firmato nei client web, è necessario creare MailMessage con firma separata. Il seguente snippet di codice mostra come usare l’opzione certificato separato.

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