Class Mail

java.lang.Object
br.com.intersys.systextil.mail.Mail
All Implemented Interfaces:
Closeable, AutoCloseable

public class Mail extends Object implements Closeable
Simplifica o envio de e-mail, especificamente para uso pelo Systextil. Utiliza a API AppMail, transformando as Exceptions em TagExceptions.
Author:
sergio
  • Constructor Details

    • Mail

      @Deprecated public Mail(AppConnection conn, int codigo_empresa, String usuario, String senha, String eMailRemetente) throws TagException
      Deprecated.
      Usar outro construtor que obtenha as credenciais de forma segura.
      Cria uma sessão para envio de e-mail a partir de credenciais de usuário que foram lidas previamente.

      Como não sabemos de que maneira estas credenciais foram obtidas, este construtor não é seguro. Usar um dos outros construtores.

      Se for encontrado um uso razoável deste construtor, então a depreciação pode ser retirada.

      Parameters:
      conn - para obter as credenciais SMTP da empresa
      codigo_empresa - o código da empresa
      usuario - o usuário
      senha - a senha
      eMailRemetente - o endereço de e-mail do remetente
      Throws:
      TagException - se as configurações forem inválidas
    • Mail

      public Mail(AppConnection conn, int codigo_empresa, UserData userData) throws TagException
      Cria uma sessão para envio de e-mail a partir de dados de usuário que foram lidos previamente.

      É útil nos casos em que se queira usar os dados do usuário para por exemplo apresentá-los na tela (p. ex. corpo padrão do e-mail do usuário).

      Parameters:
      conn - para obter as credenciais SMTP da empresa
      codigo_empresa - o código da empresa
      userData - os dados de autenticação do usuário lidos previamente
      Throws:
      TagException - se as configurações forem inválidas
    • Mail

      public Mail(AppConnection conn, int codigo_empresa, String usuario) throws TagException
      Throws:
      TagException
    • Mail

      public Mail(AppConnection conn, Mdi mdi) throws TagException
      Throws:
      TagException
  • Method Details

    • getAppMail

      public static systextil.mail.AppMail getAppMail(AppConnection conn, int codigo_empresa, String usuario, String senha, String eMailRemetente) throws TagException
      Obtém uma sessão para envio de e-mail a partir das configurações da empresa no ERP.
      Parameters:
      conn - a conexão ao banco de dados
      codigo_empresa - o código da empresa
      usuario - o usuário da sessão SMTP
      senha - a senha da sessão SMTP
      eMailRemetente - o e-mail do remetente
      Returns:
      a sessão aberta, pronta para o envio
      Throws:
      TagException - se as configurações forem inválidas
    • addTo

      public void addTo(String to) throws TagException
      Throws:
      TagException
    • addTo

      public void addTo(javax.mail.internet.InternetAddress to)
    • addCc

      public void addCc(String cc) throws TagException
      Throws:
      TagException
    • addCc

      public void addCc(javax.mail.internet.InternetAddress cc)
    • addBcc

      public void addBcc(String bcc) throws TagException
      Throws:
      TagException
    • addBcc

      public void addBcc(javax.mail.internet.InternetAddress bcc)
    • setSubject

      public void setSubject(String subject)
    • setText

      public void setText(String text)
      Define o corpo de texto sem formatação.

      Se estiver definido desta maneira, o nome do remetente será incluído em uma linha antes do texto, separado por mais uma linha em branco.

      Parameters:
      text - o corpo do texto
    • setText

      public void setText(String text, String charset, String type)
      Define uma parte com corpo de texto conforme definido em MimeBodyPart.setText(String, String, String).

      Se estiver definido desta maneira, e se o texto não for HTML, o nome do remetente será incluído em uma linha antes do texto, separado por mais uma linha em branco.

      Parameters:
      text - o texto da parte a incluir
      charset - a codificação a usar; se não for informada, será UTF-8
      type - o tipo, p. ex. "html"; se não for informado, será texto sem formatação
    • attachFile

      public void attachFile(File file)
    • attachBytes

      public void attachBytes(byte[] bytes, String fileName)
    • attachFileInline

      public String attachFileInline(File file)
    • attachBytesInline

      public String attachBytesInline(byte[] bytes, String fileName)
    • setZipFileName

      public void setZipFileName(String zipFileName)
    • setRequestReadReceipt

      public void setRequestReadReceipt(boolean request)
    • setSendCopyToSender

      public void setSendCopyToSender(boolean send)
    • setPriority

      public void setPriority(int priority)
    • attach

      public void attach(DataSource dataSource)
    • send

      public void send() throws TagException
      Envia o e-mail para os destinatários, e encerra a sessão em seguida.

      Para enviar vários e-mails com a mesma sessão, use send(boolean).

      Throws:
      TagException - se der problema
    • send

      public void send(boolean keepConnectionOpened) throws TagException
      Envia o email para os destinatários.
      Parameters:
      keepConnectionOpened - indica se essa conexão deve ou não ficar aberta. Quando você deseja enviar vários emails utilizando a mesma sessão, manter a conexão aberta pode diminuir consideravelmente o tempo de envio dos emails. Caso opte por manter a conexão aberta não esqueça de chamar o método close()
      Throws:
      TagException - se der problema
    • close

      public void close()
      Desconecta a sessão de e-mail, se ainda estiver conectada.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • clearMessage

      public void clearMessage()
    • isValidAddress

      public static boolean isValidAddress(String address)