Hulpfuncties - SMTP‑client
Serverextensies weergeven met SMTP‑client
Aspose.Email SmtpClient maakt het mogelijk de serverextensies op te halen die een server ondersteunt, zoals IDLE, UNSELECT, QUOTA, enz. Dit helpt bij het bepalen van de beschikbaarheid van een extensie vóór gebruik van de client voor die specifieke functionaliteit. De getCapabilities() methode retourneert de ondersteunde extensietypen in de vorm van een string‑array.
Serverextensies ophalen
Het volgende codefragment laat zien hoe u serverextensies ophaalt.
// 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);
Werken met ondertekend bericht
Aspose.Email‑API biedt de mogelijkheid ondertekende berichten te maken met certificaten. De attachSignature methode van de MailMessage klasse kan worden gebruikt om een bericht te ondertekenen voor opslag of zelfs verzending met behulp van de SmtpClient.
Bouncy Castle Maven‑afhankelijkheden
<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‑beveiligingsprovider inschakelen
import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
if (Security.getProvider("BC") == null)
Security.addProvider(new BouncyCastleProvider());
Een bericht ondertekenen
Het volgende codefragment laat zien hoe u een bericht ondertekent.
// 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);
Gebruik van losgekoppelde certificaatoptie
Web‑gebaseerde e‑mailclients kunnen mogelijk de inhoud van een ondertekend bericht niet weergeven. Dit kan worden opgelost door het certificaat los te koppelen voordat het naar web‑gebaseerde e‑mailclients wordt verzonden. De losgekoppelde vlag in de overladen methode van attachSignature kan hiervoor worden gebruikt. Indien ingesteld op true, wordt het certificaat losgekoppeld van de e‑mail en vice versa. Om de inhoud van een ondertekend bericht te zien in web‑gebaseerde clients, moet u een MailMessage met losgekoppelde handtekening. Het volgende codefragment laat zien hoe u de losgekoppelde certificaatoptie gebruikt.
// 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);