Verktygsfunktioner - SMTP‑klient

Lista tilläggsservrar med SMTP‑klient

Aspose.Email SmtpClient låter dig hämta server‑tillägg som en server stödjer, såsom IDLE, UNSELECT, QUOTA, etc. Detta hjälper till att identifiera tillgängligheten av ett tillägg innan du använder klienten för den funktionen. getCapabilities() metod returnerar de stödjade tilläggstyperna som en string‑array.

Hämta server‑tillägg

Följande kodexempel visar hur du hämtar server‑tillägg.

// 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);

Arbeta med signerade meddelanden

Aspose.Email API ger möjlighet att skapa signerade meddelanden med hjälp av certifikat. attachSignature metod för MailMessage klass kan användas för att signera ett meddelande för sparande eller även för att skicka det med SmtpClient.

Bouncy Castle Maven‑beroenden

<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>

Aktivera Bouncy Castle säkerhetsleverantör

import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

if (Security.getProvider("BC") == null)
    Security.addProvider(new BouncyCastleProvider());

Signera ett meddelande

Följande kodexempel visar hur du signerar ett meddelande.

// 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);

Använda fristående certifikat‑alternativ

Webbaserade e‑postklienter kanske inte kan visa innehållet i ett signerat meddelande. Detta kan åtgärdas genom att frilägga certifikatet innan det skickas till webbaserade e‑postklienter. Den frilagda flaggan i den överlagrade metoden för attachSignature kan användas för att uppnå detta. Om satt till true är certifikatet fristående från e‑posten och vice versa. För att se innehållet i ett signerat meddelande i webbaserade klienter, behöver du skapa MailMessage med fristående signatur. Följande kodexempel visar hur du använder alternativet för fristående certifikat.

// 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);