Pessoal,
Desenvolvi a rotina abaixo que envia mail através da classe commons (org.apache.commons.mail.HtmlEmail).
O problema é, quando envio mail interno isto funciona, mas quando tento mandar para um mail externo não funciona.
Só para informar, estou utilizando o exchange 2003.
Se funciona para interno significa que está conseguindo autenticar, porque não funciona com o externo?
Alguém sabe dizer o que ocorre?
Tem algo haver com o exchange?
:x
public void send(String newSubject, String newBodyHtml, String newBody, String newFailure)
{
HtmlEmail email = new HtmlEmail();
Parameter parameter = new Parameter();
try
{
if (resultMail.size() > 0)
{
bodyHtml = "Teste";
smtpPort = Integer.parseInt(parameter.getValue("CORMAILPORT"));
smtpServer = parameter.getValue("CORMAILSMTP");
smtpAuth = parameter.getValue("CORMAILSMTPAUTH");
smtpAuthUser = parameter.getValue("CORMAILSMTPUSER");
smtpAuthPass = parameter.getValue("CORMAILSMTPPASS");
fromMail = parameter.getValue("CORMAILFROM");
fromName = parameter.getValue("CORMAILFROMNAME");
email.setSmtpPort(smtpPort);
email.setHostName(smtpServer); // o servidor SMTP para envio do e-mail
email.setFrom(fromMail, fromName); // remetente
email.setSubject(newSubject);
email.setHtmlMsg(bodyHtml);
email.setTextMsg(newBody);
// SMTP with authentication
email.setAuthentication(smtpAuthUser,smtpAuthPass);
for (int i = 0; i < resultMail.size(); i++)
{
emailBean = (MailBean) resultMail.get(i);
if (ub.notEmpty(emailBean.getToEmail())) {
email.addTo(emailBean.getToEmail().replaceAll(" ","").replaceAll(",",";")); //destinatário
}
if (ub.notEmpty(emailBean.getCcEmail())) {
email.addCc(emailBean.getCcEmail(), emailBean.getCcName().replaceAll(" ","").replaceAll(",",";")); //destinatário
}
}
email.send();
}
}