Fonctionnalités utilitaires - client SMTP

Lister les extensions du serveur en utilisant le client SMTP

Aspose.Email SmtpClient vous permet de récupérer les extensions de serveur qu’un serveur prend en charge telles que IDLE, UNSELECT, QUOTA, etc. Cela aide à identifier la disponibilité d’une extension avant d’utiliser le client pour cette fonctionnalité particulière. Le getCapabilities() méthode renvoie les types d’extension supportés sous forme de tableau de chaînes.

Récupération des extensions du serveur

Le fragment de code suivant vous montre comment récupérer les extensions du serveur.

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

Travailler avec un message signé

L’API Aspose.Email offre la capacité de créer des messages signés à l’aide de certificats. Le attachSignature méthode du MailMessage classe peut être utilisée pour signer un message afin de l’enregistrer ou même de l’envoyer en utilisant le SmtpClient.

Dépendances Maven de 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>

Activer le fournisseur de sécurité Bouncy Castle

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

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

Signer un message

Le fragment de code suivant vous montre comment signer un message.

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

Utilisation de l’option de certificat détaché

Les clients de messagerie web peuvent ne pas être capables d’afficher le contenu du corps d’un message signé. Cela peut être résolu en détachant le certificat avant de l’envoyer aux clients web. Le drapeau détaché dans la méthode surchargée de attachSignature peut être utilisé pour atteindre cet objectif. Si défini sur true, le certificat est détaché de l’e‑mail et vice‑versa. Pour voir le corps d’un message signé dans les clients web, vous devez créer MailMessage avec signature détachée. Le fragment de code suivant vous montre comment utiliser l’option de certificat détaché.

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