Recursos Utilitários - Cliente SMTP
Listando Servidores de Extensões usando Cliente SMTP
Aspose.Email SmtpClient permite recuperar as extensões do servidor que ele suporta, como IDLE, UNSELECT, QUOTA, etc. Isso ajuda a identificar a disponibilidade de uma extensão antes de usar o cliente para aquela funcionalidade específica. O getCapabilities() método retorna os tipos de extensão suportados na forma de um array de strings.
Recuperando Extensões do Servidor
O trecho de código a seguir mostra como recuperar extensões do 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);
Trabalhando com Mensagem Assinada
Aspose.Email API fornece a capacidade de criar mensagens assinadas usando certificados. O attachSignature método do MailMessage classe pode ser usada para assinar uma mensagem para salvar ou até mesmo enviá‑la usando o SmtpClient.
Dependências Maven do 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 Provedor de Segurança Bouncy Castle
import java.security.Security;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
if (Security.getProvider("BC") == null)
Security.addProvider(new BouncyCastleProvider());
Assinar uma Mensagem
O trecho de código a seguir mostra como Assinar uma Mensagem.
// 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 a Opção de Certificado Destacado
Clientes de e‑mail baseados na Web podem não conseguir exibir o conteúdo do corpo de uma Mensagem Assinada. Isso pode ser resolvido destacando o certificado antes de enviá‑lo para clientes de e‑mail baseados na Web. O sinalizador destacado no método sobrecarregado de attachSignature pode ser usado para alcançar isso. Se definido como true, o certificado é destacado do e‑mail e vice‑versa. Para ver o corpo da Mensagem Assinada em clientes baseados na Web, você precisa criar MailMessage com assinatura destacada. O trecho de código a seguir mostra como usar a opção de certificado destacado.
// 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);