Užitečné funkce – SMTP klient
Výpis rozšíření serverů pomocí SMTP klienta
Aspose.Email SmtpClient umožňuje vám získat rozšíření serveru, která server podporuje, jako jsou IDLE, UNSELECT, QUOTA atd. To pomáhá zjistit dostupnost rozšíření před použitím klienta pro danou funkci. getCapabilities() metoda vrací podporované typy rozšíření ve formě pole řetězců.
Načítání rozšíření serveru
Následující úryvek kódu ukazuje, jak načíst rozšíření serveru.
// 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);
Práce s podepsanou zprávou
Aspose.Email API poskytuje možnost vytvářet podepsané zprávy pomocí certifikátů. attachSignature metoda třídy MailMessage třída může být použita k podepsání zprávy pro uložení nebo dokonce odeslání pomocí SmtpClient.
Závislosti Maven pro 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>
Povolení poskytovatele zabezpečení Bouncy Castle
import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
if (Security.getProvider("BC") == null)
Security.addProvider(new BouncyCastleProvider());
Podepsat zprávu
Následující úryvek kódu ukazuje, jak podepsat zprávu.
// 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);
Použití možnosti odděleného certifikátu
Weboví e‑mailoví klienti nemusí být schopni zobrazit obsah těla podepsané zprávy. To lze vyřešit oddělením certifikátu před odesláním do webových e‑mailových klientů. Příznak oddělení v přetížené metodě attachSignature může být použito k dosažení tohoto. Pokud je nastaveno na true, certifikát je oddělen od e‑mailu a naopak. Pro zobrazení těla podepsané zprávy ve webových klientech musíte vytvořit MailMessage s odděleným podpisem. Následující úryvek kódu ukazuje, jak použít možnost odděleného certifikátu.
// 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);