У меня нижеуказанная почтовая программа. Проблема в том, что почтовая программа работает успешно, но она не отправляет мне письма. Журналы говорят, что это отправлено успешно. Не уверен, в чем может быть проблема. Нужно ли менять Java-программу?
У меня есть следующие значения, установленные в файле application.properties
, и эти значения считываются из программы и передаются как вектор в функцию отправки
mail.smtp.host=excha.testing.com
mail.smtp.techEmail="test1@test.com"
mail.smtp.toEmail="test2@test.com"
mail.smtp.fromEmail=test_systems@test.com
mail.smtp.fromName=Testing test Systems
mailHandler.send(mailingAddress,ccEmailAddress,fromEmailAddress,fromEmailAlias,envName + "::" + " Process", exitMessage + " - " + message))
----------------------- Код программы отправки почты, вставленный ниже ---------
public synchronized boolean send(Vector eMailAddress, Vector ccEmailAddress, String
fromEmailAddress, String fromEmailAlias, String messageSubject, String messageText)
{
try
{
Message msg = new MimeMessage(session);
msg.setSubject(messageSubject);
msg.setText(messageText);
InternetAddress addresses[] = new InternetAddress[eMailAddress.size()];
for (int i = 0; i < eMailAddress.size(); i++ ) {
addresses[i] = new InternetAddress((String)(eMailAddress.elementAt(i)));
}
msg.setRecipients(Message.RecipientType.TO, addresses);
InternetAddress ccAddresses[] = new InternetAddress[ccEmailAddress.size()];
for (int i = 0; i < ccEmailAddress.size(); i++ ) {
ccAddresses[i] = new InternetAddress((String)(ccEmailAddress.elementAt(i)));
}
msg.setRecipients(Message.RecipientType.CC, ccAddresses);
if ((null != fromEmailAddress) && (null != fromEmailAlias))
{
msg.setFrom(new InternetAddress(fromEmailAddress, fromEmailAlias));
}
else if ((null != fromEmailAddress) && (null == fromEmailAlias))
{
msg.setFrom(new InternetAddress(fromEmailAddress));
}
else if ((null == fromEmailAddress) && (null == fromEmailAlias))
{
String smtpFromEmail
= (ApplicationProperties.getApplicationProperties()).getProperty(SMTP_FROM_EMAIL_KEY);
String smtpFromName
= (ApplicationProperties.getApplicationProperties()).getProperty(SMTP_FROM_NAME_KEY);
if (null == smtpFromEmail || "".equals(smtpFromEmail))
{
smtpFromEmail = SENDER_EMAIL;
}
if (null == smtpFromName || "".equals(smtpFromName))
{
smtpFromName = SENDER_NAME;
}
msg.setFrom(new InternetAddress(smtpFromEmail, smtpFromName));
}
Transport.send(msg);
cat.debug("Sent message to " + eMailAddress);
return true;
} catch (Exception e)
{
cat.error("Error sending email", e);
return false;
}
}