有没有办法在发送邮件时更改javamail中的source-port?在Transport.send()中,javamail使用套接字默认端口作为源端口来发送邮件。我可以更改源端口吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
是的,但是要使其正常工作,需要设置以下两个属性:
mail.smtp.localaddress
和mail.smtp.localport
。
这是由于com.sun.mail.util.SocketFetcher
中的底层JavaMail实现仅在设置了mail.smtp.localport
时才使用mail.smtp.localaddress
属性。
答案 2 :(得分:-1)
发送邮件时无法更改源端口。但是有各种Sub类的传输提供了用于发送邮件的协议特定包装器。例如,SMTPTransport是用于SMTP协议的类。使用像
这样的东西SMTPTransport transport = (SMTPTransport) session.getTransport("smtp");
transport.connect();
transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));