ميزات الأداة - عميل SMTP
قائمة امتدادات الخوادم باستخدام عميل SMTP
Aspose.Email SmtpClient تتيح لك استرجاع امتدادات الخادم التي يدعمها الخادم مثل IDLE، UNSELECT، QUOTA، إلخ. هذا يساعد في تحديد توافر الامتداد قبل استخدام العميل لتلك الوظيفة المحددة. الـ 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 القدرة على إنشاء رسائل موقعة باستخدام الشهادات. الـ attachSignature طريقة الـ MailMessage يمكن استخدام الفئة لتوقيع رسالة لحفظها أو حتى إرسالها باستخدام الـ SmtpClient.
اعتمادات Maven لـ 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>
تفعيل مزود أمان 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);