내 응용 프로그램은 현재까지 AIX에서 websphere 6.1에서 실행되고 있습니다. 여기에는 오늘까지 잘 작동하는 전자 메일 알림 모듈이 있습니다. 이제 동일한 애플리케이션이 Linux 서버에서 실행되는 Tomcat 기반 클라우드 플랫폼으로 마이그레이션되고 있습니다. 새 Linux 기반 플랫폼에서 의도 된 수신자에게 전자 메일이 발송되지만 제목이없고 수신자 전자 메일 주소가 없거나 첨부 파일이 적합하지 않은 등 전자 메일이 이상하게 보입니다.spring과 java mail api로 이메일 문제
이전에는 개미 기반 빌드 및 이제 나는 maven으로 프로젝트를 빌드한다. 그리고 나는 봄과 메일 api 항아리의 동일한 버전을 유지하려고했습니다.
무엇이 문제 일 수 있으며 내가 뭘 잘못하고 있니? 전자 메일을 보내는 동안 예외는 없으며 문제를 식별하기가 정말 어렵습니다. 도움을 주시면 감사하겠습니다. 미리 감사드립니다.
코드 : 사용중인 JavaMail에 버전
public synchronized void sendwithAttachment(MailMessage mailMessage) throws MailException, MessagingException {
String methodName = "sendwithAttachment";
LogManager.info(LogConstants.NOTIFICATION,
Constants.ENTERING_METHOD + methodName, this.getClass());
try{
MailSender MailSender = (MailSender) mailSender;
Session session = MailSender.getSession();
MimeMessageHelper message = new MimeMessageHelper(new MimeMessage(session), true, "UTF-8");
message.setFrom(mailMessage.getFrom());
message.setTo(mailMessage.getTo());
message.setSubject(mailMessage.getSubject());
message.setSentDate(new Date());
message.setText(mailMessage.getText());
DiskFileAttacher[] diskFileAttachments = mailMessage.getDiskFileAttachments();
for (int i = 0; ((diskFileAttachments != null) && i < diskFileAttachments.length); i++) {
message.addAttachment(diskFileAttachments[i].getAttachmentFilename(), new File(diskFileAttachments[i].getFilePath()));
}
InMemoryFileAttacher[] inMemoryFileAttachments = mailMessage.getInMemoryFileAttachments();
for (int i = 0; ((inMemoryFileAttachments != null) && i < inMemoryFileAttachments.length); i++) {
if(inMemoryFileAttachments[i].getFileObj()!=null){
message.addAttachment(inMemoryFileAttachments[i].getFileName(),
inMemoryFileAttachments[i].getFileObj());
}else{
message.addAttachment(inMemoryFileAttachments[i].getFileName(),
inMemoryFileAttachments[i]);
}
}
List mimeMessageList = new ArrayList();
mimeMessageList.add(message.getMimeMessage());
MimeMessage[] mimeMessages = (MimeMessage[]) mimeMessageList.toArray(new MimeMessage[mimeMessageList.size()]);
LogManager.info(LogConstants.NOTIFICATION,"before MailSender.send is called " + methodName, this.getClass());
MailSender.send(mimeMessages);
}catch(MailException e){
LogManager.info(LogConstants.NOTIFICATION, "Some exception occured while sending emails...", this.getClass());
}
답장을 보내 주셔서 감사합니다. 이 문제는 Maven 종속성을 가진 다른 메일 병과 비교적 유사하며 지금 해결되었습니다. – kumar