Утилітні функції – SMTP Client
Перелік розширень сервера за допомогою Smtp Client
Aspose.Email SmtpClient дозволяє отримати розширення сервера, які підтримуються, такі як IDLE, UNSELECT, QUOTA тощо. Це допомагає визначити наявність розширення перед використанням клієнта для конкретної функції. The getCapabilities() метод повертає підтримувані типи розширень у вигляді масиву рядків.
Отримання розширень сервера
Наступний фрагмент коду показує, як отримати розширення сервера.
// 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);
Робота з підписаним повідомленням
Aspose.Email API забезпечує можливість створювати підписані повідомлення за допомогою сертифікатів. The attachSignature метод MailMessage клас можна використати для підписання повідомлення для збереження або навіть надсилання його за допомогою SmtpClient.
Залежності Bouncy Castle Maven
<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
import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
if (Security.getProvider("BC") == null)
Security.addProvider(new BouncyCastleProvider());
Підписати повідомлення
Наступний фрагмент коду показує, як підписати повідомлення.
// 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);
Використання опції відокремленого сертифіката
Веб‑клієнти електронної пошти можуть не вміти відображати вміст тіла підписаного повідомлення. Це можна виправити, відокремивши сертифікат перед надсиланням його веб‑клієнтам електронної пошти. Прапорець відокремлення в перевантаженому методі attachSignature можна використати для досягнення цього. Якщо встановити в true, сертифікат буде відокремлений від листа і навпаки. Щоб бачити тіло підписаного повідомлення у веб‑клієнтах, потрібно створити MailMessage з відокремленим підписом. Наступний фрагмент коду показує, як використовувати опцію відокремленого сертифіката.
// 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);