2011-01-11 6 views
2

SMTP/postfix 지식의 한계에 도달했습니다.전자 메일을 보낸 후 보낸 전자 메일 주소 변경 (GMail postfix relay)

javamail 1.4를 사용하여 메일을 보내고 있습니다. javamail 라이브러리가 로컬 접미사 프로세스에 연결 중입니다. 후위 프로세스는 gmail을 통해 메일을 중계하도록 구성됩니다.

relayhost = smtp.gmail.com:587 

javamail lib를 사용하여 보낸 사람 주소를 설정합니다. 그러나 메일이받은 편지함에서 끝나면 사용자가 Gmail 서버에 로그인하는 것입니다.

예를 들어, 내 코드에서 [email protected]으로 설정하고 있습니다. postfix는 Gmail을 통해 메일을 중계하도록 구성되어 있으며 user1 및 암호를 사용하여 smtp 서버에 로그인합니다. 메일이 마치받은 편지함에서 마치 [email protected] 인 것처럼 보입니다. (내 Gmail받은 편지함에서 "원본"을 볼 때 [email protected]에 대한 언급이 없습니다).

저는 javamail 위에 Spring 3.0의 라이브러리 (MimeMessageHelper)를 사용하고 있습니다.

+0

Java/Spring 코드가 없어도 수동으로 동일한 전자 메일을 보내려고합니다. 명령 줄에서 "telnet smtp.local.network 110"등으로 시도하십시오. 동일한 문제가 발생하면 SMTP 인프라에 문제가있는 것입니다. 그렇지 않으면 자바로 전자 메일을 보내는 방법을 조사하고 싶을 것이다. –

답변

9

Google은 메시지의 헤더를 SMTP 세션의 인증 된 사용자와 일치하도록 다시 작성합니다. You can register other email addresses with your GMail account ("맞춤 보낸 사람 주소").이 경우 다른 주소는 From 헤더에 허용됩니다 (Gmail에서는 인증 된 사용자를 Sender 헤더에 추가하지만). If you choose to use Google's SMTP server, there appears to be no way around this.

+0

이것은 사람들이 보낸 권한이없는 주소에서 메일을 보내지 못하도록하기위한 것입니다 ... –

+0

이것은 나에게 의미가 있습니다. 답장 dkarp에 감사드립니다. 지금 솔루션을 테스트하는 중입니다. –

+0

참조 용으로 솔루션이 효과적이었습니다. –

관련 문제