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 Exceptions
em TagExceptions.- 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 TypeMethodDescriptionvoidvoidaddBcc(javax.mail.internet.InternetAddress bcc) voidvoidaddCc(javax.mail.internet.InternetAddress cc) voidvoidaddTo(javax.mail.internet.InternetAddress to) voidattach(DataSource dataSource) voidattachBytes(byte[] bytes, String fileName) attachBytesInline(byte[] bytes, String fileName) voidattachFile(File file) attachFileInline(File file) voidvoidclose()Desconecta a sessão de e-mail, se ainda estiver conectada.static systextil.mail.AppMailgetAppMail(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 booleanisValidAddress(String address) voidsend()Envia o e-mail para os destinatários, e encerra a sessão em seguida.voidsend(boolean keepConnectionOpened) Envia o email para os destinatários.voidsetPriority(int priority) voidsetRequestReadReceipt(boolean request) voidsetSendCopyToSender(boolean send) voidsetSubject(String subject) voidDefine o corpo de texto sem formatação.voidDefine uma parte com corpo de texto conforme definido emMimeBodyPart.setText(String, String, String).voidsetZipFileName(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:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
clearMessage
public void clearMessage() -
isValidAddress
-