Funciones de utilidad - Cliente SMTP
Listando extensiones del servidor usando Cliente SMTP
Aspose.Email SmtpClient le permite recuperar las extensiones del servidor que este soporta, como IDLE, UNSELECT, QUOTA, etc. Esto ayuda a identificar la disponibilidad de una extensión antes de usar el cliente para esa funcionalidad en particular. El getCapabilities() el método devuelve los tipos de extensión soportados en forma de un arreglo de strings.
Recuperando extensiones del servidor
El siguiente fragmento de código le muestra cómo recuperar extensiones del servidor.
// 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);
Trabajando con mensajes firmados
Aspose.Email API brinda la capacidad de crear mensajes firmados usando certificados. El attachSignature método del MailMessage la clase puede usarse para firmar un mensaje para guardarlo o incluso enviarlo usando el SmtpClient.
Dependencias Maven de 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>
Habilitar el proveedor de seguridad Bouncy Castle
import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
if (Security.getProvider("BC") == null)
Security.addProvider(new BouncyCastleProvider());
Firmar un mensaje
El siguiente fragmento de código le muestra cómo firmar un mensaje.
// 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);
Usando la opción de certificado separado
Los clientes de correo electrónico basados en web pueden no ser capaces de mostrar el contenido del cuerpo de un Mensaje firmado. Esto puede solucionarse separando el certificado antes de enviarlo a clientes web. La bandera detached en el método sobrecargado de attachSignature puede usarse para lograr esto. Si se establece en true, el certificado se separa del correo y viceversa. Para ver el cuerpo del Mensaje firmado en clientes web, necesita crear MailMessage con firma separada. El siguiente fragmento de código le muestra cómo usar la opción de certificado separado.
// 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);