수정하던 이메일 발송기능에서 첨부파일이 존재할 경우 에러가 터지는 상황이다.
상황)
form으로 파일을 전송하고 파일은 AWS S3 에 저장한뒤, S3에 저장된 url경로를 String 으로 return 받는다.
이 경로에서 경로와 파일이름을 분리하고 로컬(?)경로+파일이름 으로 된 내용을 BodyPart객체로 반환해서(?) MultiPart 객체에 add한다.
이후에 sendmail에서 파일에 관한 에러가 나오고 있는데, 정확한 원인은 모르겠다. 일단은 빨리 처리를 해야하는 상황이라서
MailSend상에서 발생하는 exception을 catch하고 속성값을 정리하여 재발송을 하는 방식으로 진행했다.
조치)
MultiPart 객체에 0번 index는 메일 content이고, 1번 부터가 파일 내용이다.
해서 1번 이후를 remove 하는 방식으로 했는데, Vector객체여서, 1,2,3번 중에 1번을 삭제하면 뒤의 것들이 당겨져서 1,2가 되는 상황이 됬다.
해서, 처음에는 .size()만큼 1번 index를 삭제하는 방식을 했지만, 보기가 안좋아서, for문의 초기값 i를 size로 설정하고 i--하면서 삭제를 해나갔다.
발송은 잘 되었지만, 메일 내용에 '첨부파일이 있지만 첨부에 실패'라는 내용을 넣었으면 했다.
0번에 있는 content를 수정하면 되지만, 수정기능은 없어서 remove하고 기존 content내용 String 뒤에, 해당 내용의 html테그를 추가해서 처리했다.
'개발일기' 카테고리의 다른 글
20221222_연습서버라도 비번 설정을 잘하자 (0) | 2022.12.22 |
---|---|
20221222_zsh: command not found: vue (0) | 2022.12.22 |
221216_Build를 성공했는데, 이전 버전이 작동한다???? (0) | 2022.12.16 |
Teamcity Pending Changes (0) | 2022.12.15 |
Teamcity와 docker (2) | 2022.12.14 |