תכונות שירות - לקוח SMTP
רשימת שרתי הרחבות באמצעות לקוח SMTP
Aspose.Email SmtpClient מאפשר לך לאחזר את הרחבות השרת שמשרת תומך בהם כגון IDLE, UNSELECT, QUOTA, וכד’. זה מסייע בזיהוי זמינות ההרחבה לפני שימוש בלקוח עבור תפקוד זה. ה getCapabilities() method מחזירה את סוגי ההרחבות הנתמכות בצורת מערך מחרוזות.
אחזור הרחבות השרת
קטע הקוד הבא מראה כיצד לאחזר הרחבות של השרת.
// 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 מספקת את היכולת ליצור הודעות חתומות באמצעות תעודות. ה attachSignature שיטה של MailMessage class יכולה לשמש לחתימה על הודעה לשמירה או אפילו לשליחת ההודעה באמצעות 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);