0

我正在运行一个带有底层 Postfix 服务器的 JBoss 服务器。当我发送电子邮件时,JavaMail 会创建一个无效的 messageID,例如 Message-ID:<47112553230.139.4972667128159.JavaMail.undefined>。

我正在使用此代码发送邮件:

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

我该如何解决这个问题?

最好的问候,克里斯蒂安

4

1 回答 1

1

这就是我可以在@BillShannon 的帮助下解决问题的方法:

Properties props = new Properties();
InitialContext ictx = new InitialContext(props);
Session sess = (Session) ictx.lookup("java:jboss/mail/Default");
props = sess.getProperties();
props.put("mail.smtp.host", "xxx.tld");
props.put("mail.host", "xxx.tld");
props.put("mail.from", "yyy@xxx.tld");
sess = Session.getInstance(props);
于 2012-09-24T14:10:25.423 回答