Package br.com.intersys.systextil.mail
Class Mail
java.lang.Object
br.com.intersys.systextil.mail.Mail
- All Implemented Interfaces:
Closeable
,AutoCloseable
Simplifica o envio de e-mail, especificamente para uso pelo Systextil.
Utiliza a API
AppMail
, transformando as Exception
s
em TagException
s.- Author:
- sergio
-
Constructor Summary
ConstructorsConstructorDescriptionMail
(AppConnection conn, int codigo_empresa, UserData userData) Cria uma sessão para envio de e-mail a partir de dados de usuário que foram lidos previamente.Mail
(AppConnection conn, int codigo_empresa, String usuario) Mail
(AppConnection conn, int codigo_empresa, String usuario, String senha, String eMailRemetente) Deprecated.Usar outro construtor que obtenha as credenciais de forma segura.Mail
(AppConnection conn, Mdi mdi) -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
addBcc
(javax.mail.internet.InternetAddress bcc) void
void
addCc
(javax.mail.internet.InternetAddress cc) void
void
addTo
(javax.mail.internet.InternetAddress to) void
attach
(DataSource dataSource) void
attachBytes
(byte[] bytes, String fileName) attachBytesInline
(byte[] bytes, String fileName) void
attachFile
(File file) attachFileInline
(File file) void
void
close()
Desconecta a sessão de e-mail, se ainda estiver conectada.static systextil.mail.AppMail
getAppMail
(AppConnection conn, int codigo_empresa, String usuario, String senha, String eMailRemetente) Obtém uma sessão para envio de e-mail a partir das configurações da empresa no ERP.static boolean
isValidAddress
(String address) void
send()
Envia o e-mail para os destinatários, e encerra a sessão em seguida.void
send
(boolean keepConnectionOpened) Envia o email para os destinatários.void
setPriority
(int priority) void
setRequestReadReceipt
(boolean request) void
setSendCopyToSender
(boolean send) void
setSubject
(String subject) void
Define o corpo de texto sem formatação.void
Define uma parte com corpo de texto conforme definido emMimeBodyPart.setText(String, String, String)
.void
setZipFileName
(String zipFileName)
-
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 empresacodigo_empresa
- o código da empresausuario
- o usuáriosenha
- a senhaeMailRemetente
- o endereço de e-mail do remetente- Throws:
TagException
- se as configurações forem inválidas
-
Mail
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 empresacodigo_empresa
- o código da empresauserData
- os dados de autenticação do usuário lidos previamente- Throws:
TagException
- se as configurações forem inválidas
-
Mail
- Throws:
TagException
-
Mail
- 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 dadoscodigo_empresa
- o código da empresausuario
- o usuário da sessão SMTPsenha
- a senha da sessão SMTPeMailRemetente
- o e-mail do remetente- Returns:
- a sessão aberta, pronta para o envio
- Throws:
TagException
- se as configurações forem inválidas
-
addTo
- Throws:
TagException
-
addTo
public void addTo(javax.mail.internet.InternetAddress to) -
addCc
- Throws:
TagException
-
addCc
public void addCc(javax.mail.internet.InternetAddress cc) -
addBcc
- Throws:
TagException
-
addBcc
public void addBcc(javax.mail.internet.InternetAddress bcc) -
setSubject
-
setText
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
Define uma parte com corpo de texto conforme definido emMimeBodyPart.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 incluircharset
- a codificação a usar; se não for informada, será UTF-8type
- o tipo, p. ex. "html"; se não for informado, será texto sem formatação
-
attachFile
-
attachBytes
-
attachFileInline
-
attachBytesInline
-
setZipFileName
-
setRequestReadReceipt
public void setRequestReadReceipt(boolean request) -
setSendCopyToSender
public void setSendCopyToSender(boolean send) -
setPriority
public void setPriority(int priority) -
attach
-
send
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
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étodoclose()
- Throws:
TagException
- se der problema
-
close
public void close()Desconecta a sessão de e-mail, se ainda estiver conectada.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
clearMessage
public void clearMessage() -
isValidAddress
-