以下のメールプログラムがあります。問題は、メールプログラムが正常に実行されても、メールが送信されないことです。ログには、正常にメール送信されたことが示されています。何が問題なのかわからない。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;
}
}