Author: sebb
Date: Fri Jul  2 16:22:06 2010
New Revision: 960047

URL: http://svn.apache.org/viewvc?rev=960047&view=rev
Log:
Allow SMTP port to be defaulted

Modified:
    
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    
jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
    jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=960047&r1=960046&r2=960047&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties 
(original)
+++ 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties 
Fri Jul  2 16:22:06 2010
@@ -795,7 +795,7 @@ smtp_attach_file_tooltip=Separate multip
 smtp_auth_settings=Auth settings
 smtp_bcc=Address To BCC:
 smtp_cc=Address To CC:
-smtp_default_port=(Default: 25)
+smtp_default_port=(Defaults: SMTP:25, SSL:465, StartTLS:587)
 smtp_eml=Send .eml:
 smtp_enforcestarttls=Enforce StartTLS
 smtp_enforcestarttls_tooltip=<html><b>Enforces</b> the server to use 
StartTLS.<br />If not selected and the SMTP-Server doesn't support StartTLS, 
<br />a normal SMTP-Connection will be used as fallback instead. <br 
/><i>Please note</i> that this checkbox creates a file in \"/tmp/\", <br />so 
this will cause problems under windows.</html>

Modified: 
jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java?rev=960047&r1=960046&r2=960047&view=diff
==============================================================================
--- 
jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
 (original)
+++ 
jakarta/jmeter/trunk/src/protocol/mail/org/apache/jmeter/protocol/smtp/sampler/protocol/SendMailCommand.java
 Fri Jul  2 16:22:06 2010
@@ -26,7 +26,6 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.PrintStream;
-import java.security.Security;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -76,7 +75,7 @@ public class SendMailCommand {
     private List<InternetAddress> receiverTo;
     private List<InternetAddress> receiverCC;
     private List<InternetAddress> receiverBCC;
-    private HashMap<String, String> headers;
+    private HashMap<String, String> headers; // Not currently set up
     private String subject = "";
 
     private boolean useAuthentication = false;
@@ -126,17 +125,16 @@ public class SendMailCommand {
 
         // set properties using JAF
         props.put("mail." + protocol + ".host", smtpServer);
-        props.put("mail." + protocol + ".port", smtpPort);
-        props.put("mail." + protocol + ".auth", Boolean
-                .toString(useAuthentication));
-        // props.put("mail.debug","true");
+        props.put("mail." + protocol + ".port", getPort());
+        props.put("mail." + protocol + ".auth", 
Boolean.toString(useAuthentication));
+//        props.put("mail.debug","true");
 
         if (useStartTLS) {
             props.put("mail.smtp.starttls.enable", "true");
             //props.put("mail.debug", "true");
         }
 
-        if (trustAllCerts && protocol.equalsIgnoreCase("smtps")) {
+        if (trustAllCerts && useSSL) {
             props.setProperty("mail.smtps.socketFactory.class",
                     TRUST_ALL_SOCKET_FACTORY);
             props.setProperty("mail.smtps.socketFactory.fallback", "false");
@@ -264,7 +262,7 @@ public class SendMailCommand {
         tr.sendMessage(message, message.getAllRecipients());
 
         if (synchronousMode) {
-            listener.attend();
+            listener.attend(); // listener cannot be null here
         }
 
         tr.close();
@@ -700,6 +698,26 @@ public class SendMailCommand {
     }
 
     /**
+     * Returns port to be used for SMTP-connection - returns the
+     * default port for the protocol if no port has been supplied.
+     * 
+     * @return Port to be used for SMTP-connection
+     */
+    private String getPort() {
+        String port = smtpPort.trim();
+        if (port.length() > 0) { // OK, it has been supplied
+            return port;
+        }
+        if (useSSL){
+            return "465";
+        }
+        if (useStartTLS) {
+            return "587";
+        }
+        return "25";
+    }
+
+    /**
      * Assigns the object to use a local truststore for SSL / StartTLS - to be
      * called by SmtpSampler-object
      *

Modified: jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=960047&r1=960046&r2=960047&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml Fri Jul  2 
16:22:06 2010
@@ -1511,9 +1511,11 @@ Two alternatives to handle this verifica
 </description>
 <properties>
 <property name="Server" required="Yes">Hostname or IP address of the server. 
See below for use with <code>file</code> protocol.</property>
-<property name="Port" required="Yes">Port to be used to connect to the server 
(optional)</property>
+<property name="Port" required="No">Port to be used to connect to the server.
+Defaults are: SMTP=25, SSL=465, StartTLS=587
+</property>
 <property name="Address From" required="Yes">The from address that will appear 
in the e-mail</property>
-<property name="Address To" required="Yes">The destination e-mail 
address</property>
+<property name="Address To" required="Yes, unless CC or BCC is specified">The 
destination e-mail address</property>
 <property name="Address To BCC" required="No">Blind carbon copy destinations 
e-mail address</property>
 <property name="Address To CC" required="No">Carbon copy destinations e-mail 
address</property>
 <property name="Use Auth" required="">Indicates if the SMTP server requires 
user authentication</property>



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to