JBoss 서버에서 Postfix 서버를 실행 중입니다. 전자 메일을 보낼 때 JavaMail에서 잘못된 messageID를 만듭니다. Message-ID : < 47112553230.139.4972667128159.JavaMail.undefined>. 보내는 메일에 대한JavaMail이 유효하지 않음 MSGID
이 코드를 사용하고:
Properties props = new Properties();
props.put("mail.smtp.host", "xxx.tld");
props.put("mail.host", "xxx.tld");
InitialContext ictx = new InitialContext(props);
Session sess = (Session) ictx.lookup("java:jboss/mail/Default");
Transport trans = sess.getTransport("smtp");
trans.connect();
MimeMessage msg = new MimeMessage(sess);
msg.setFrom(new InternetAddress(from));
msg.addRecipients(RecipientType.TO, InternetAddress.parse(to, false));
msg.setSubject(subject);
msg.setText(message);
msg.setHeader("Content-Type", "text/html; charset=\"utf-8\"");
msg.saveChanges();
Transport.send(msg, msg.getAllRecipients());
trans.close();
주요 후위 구성 :
myhostname = xxx.tld
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = xxx.tld, Debian-60-squeeze-64-minimal, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = 127.0.0.1
가 어떻게이 문제를 해결할 수 있습니까?
안부, 기독교
당신은-ID 메시지가 잘못에 대해 어떻게 생각 하죠? –
<47112553230.139.4972667128159.JavaMail.undefined>에는 최상위 도메인이 포함되어 있지 않습니다. SpamAssasin은 메일에 "INVALID_MSGID"플래그를 지정합니다. – user1565121
맞습니다. 최소한 "@"를 포함해야합니다. Message-ID에서 "정의되지 않은"부분은 [InternetAddress.getLocalAddress] (http://javamail.kenai.com/nonav/javadocs/javax/mail/internet/InternetAddress.html#getLocalAddress (javax.mail) . 세션)) 방법; 자세한 내용은 javadocs를 읽으십시오. 내가 볼 수있는 한 "mail.from"속성이 "undefined"로 설정된 경우 값이 "정의되지 않음"일 수있는 유일한 방법입니다. getLocalAddress가 null을 반환하면 JavaMail은 "javamailuser @ localhost"를 사용합니다. –