0
저는 스프링 메일을 사용하여 Google의 smptp 서버를 통해 이메일을 보내고 있습니다. "From"헤더에 이메일 템플릿을 설정하고 있지만 보낸 사람으로 메일을받을 때 어떤 이유로 smtp 계정의 소유자를 얻습니다. (나는 다시 우연히 일어난다).스프링 메일 MimeMessage의 "보낸 사람"집합이 잘못되었습니다.
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message);
helper.setText(forgottenPassowrdMailTemplate.getText()
.replace("%firstName%", token.getUser().getFirstName())
.replace("%lastName%", token.getUser().getLastName())
.replace("%link%", url + token.getToken()), true);
helper.setTo(token.getUser().getEmail());
helper.setFrom(forgottenPassowrdMailTemplate.getFrom());
helper.setSubject(forgottenPassowrdMailTemplate.getSubject());
나는 무언가를 잊고 있습니까? "보낸 사람"헤더를 명시 적으로 설정하고 있습니다.
첫 번째 답변은 내 문제를 설명합니다. 다른 계정이란 무엇입니까? 내 Google 계정을 사용하여 smtp 서버에 연결하려고 테스트 중이지만 실제 이메일은 여전히 나에게 전송됩니다. 그것은 비밀 번호 복구 메커니즘이고 나는 암호 변경을 요청하는 사용자이므로 나에게 이메일을 보내는 것처럼 보입니다. – pmanolov
Google의 관점에서 보낸 사람 주소가 아닌 주소는 위조입니다. 인증을 사용하지 않는다면, 인증을 막을 것입니다. – tripleee
@pmanolov 당신은 단지'임의의 '주소를 사용할 수없고, 계정에 링크되어있는 메일들만이'fred @ googlemaildomainname.mock 대신에 from : [email protected]'으로 보내집니다. "다른 계정"으로 설정하고자하는 이메일 주소의 계정을 의미했습니다 ('forgottenPassowrdMailTemplate.getFrom()'). 당신은 그걸 통제 할 필요가 있습니다. "Raw"SMTP는 보낸 사람 헤더에 입력 한 내용을 확인하지 않습니다. Google은 않습니다. 검사하지 않는 SMTP 서버는 스팸 서버로 매우 빠르게 블랙리스트에 올 수 있습니다. –