GERONIMO-2867 javax.mail.Service.connect() not using port from transport URLName()
git-svn-id: https://svn.apache.org/repos/asf/geronimo/javamail/trunk@510528 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java b/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
index a93e83e..c6c6bd5 100644
--- a/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
+++ b/geronimo-javamail_1.3.1_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
@@ -343,9 +343,6 @@
*/
protected boolean protocolConnect(String host, int port, String username, String password)
throws MessagingException {
- if (debug) {
- debugOut("Connecting to server " + host + ":" + port + " for user " + username);
- }
// first check to see if we need to authenticate. If we need this, then
// we must have a username and
@@ -379,6 +376,10 @@
port = Integer.parseInt(configuredPort);
}
}
+
+ if (debug) {
+ debugOut("Connecting to server " + host + ":" + port + " for user " + username);
+ }
try {
@@ -1562,7 +1563,10 @@
// get what the InternetAddress class believes to be the local
// address.
else {
- from = InternetAddress.getLocalAddress(session).getAddress();
+ InternetAddress local = InternetAddress.getLocalAddress(session);
+ if (local != null) {
+ from = local.getAddress();
+ }
}
}
diff --git a/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java b/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
index e07f5f2..e00ec8e 100644
--- a/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
+++ b/geronimo-javamail_1.4_provider/src/main/java/org/apache/geronimo/javamail/transport/smtp/SMTPTransport.java
@@ -1561,7 +1561,10 @@
// get what the InternetAddress class believes to be the local
// address.
else {
- from = InternetAddress.getLocalAddress(session).getAddress();
+ InternetAddress local = InternetAddress.getLocalAddress(session);
+ if (local != null) {
+ from = local.getAddress();
+ }
}
}